Ismael Gomez
6a19a19f00
Fix memory fault during exiting and waiting for worker
2020-05-26 14:55:37 +02:00
Francisco Paisana
9a0ea6e08c
use log_helper for log macros
2020-05-26 10:02:08 +01:00
Francisco Paisana
edba7f57e4
corrected mac_nr_pdu includes
2020-05-26 10:02:08 +01:00
Francisco Paisana
0b701022a3
added ue nr mac
2020-05-26 10:02:08 +01:00
Francisco Paisana
d36ae722d5
added extra debug logs
2020-05-22 16:46:42 +01:00
Ismael Gomez
5d42d16b79
Do not cancel Regular BSR after triggering SR. Fixes mac_test
2020-05-21 15:36:44 +01:00
Ismael Gomez
b5ccbf1891
Simplify relationship between BSR, SR and RA procedures. Fix issue #1346
2020-05-21 15:36:44 +01:00
Xavier Arteaga
e605a6f367
UE PHY test disabled due to unstable behaviour
2020-05-12 15:56:23 +02:00
Xavier Arteaga
0d2b3eb55d
Removed ue_phy_test log overload
2020-05-12 15:56:23 +02:00
Xavier Arteaga
ac0e347d94
SRSUE: refactored sync.cc and clean up
2020-05-12 15:56:23 +02:00
Xavier Arteaga
2d8bd0692a
SRSUE: fix and enable UE PHY test
2020-05-12 15:56:23 +02:00
Xavier Arteaga
dc927b745a
SRSUE Removed async_scell_recv.h
2020-05-12 15:56:23 +02:00
faluco
d80bce79e0
Fix for 1489462.
2020-05-07 18:53:40 +02:00
faluco
eb69321649
Fix for issue 1476278.
2020-05-07 10:12:29 +02:00
faluco
9efa24bfa9
More warning fixes.
2020-05-07 10:10:24 +02:00
faluco
7ff251f112
- Fixed warnings caught by Clang 9.0.0
2020-05-07 10:10:24 +02:00
Pedro Alvarez
2ea78c8feb
Added configuration options for stack logging.
2020-05-05 14:34:47 +01:00
Ismael Gomez
8c82203c74
Removed unused pregenerate option
2020-05-01 21:05:00 +02:00
Andre Puschmann
25ab36ddd5
nas: fix UE not attaching if PLMN isn't found after switching on
...
if no cell/PLMN can be found if the UE is switched on, the UE was never
trying again.
In theory this would be handled by T3410, but the timer
is not started in case the PLMN search isn't done yet.
2020-05-01 21:03:47 +02:00
Andre Puschmann
ead2acf70c
ue: add info to check ue log file when param parsing failed
2020-05-01 21:03:47 +02:00
Andre Puschmann
552179a113
srsue: flush CSV metrics before stopping
2020-04-29 18:56:10 +02:00
Francisco Paisana
de4d58d8fe
fix coverity scan issues in master
2020-04-29 11:17:00 +02:00
Xavier Arteaga
9d0a3268e8
Added DL channel estimator algorithm options
2020-04-28 17:26:01 +02:00
Francisco Paisana
38f848ecdf
fix type name deducing for clang
2020-04-27 22:19:08 +01:00
Francisco Paisana
af9ca9f9e5
remove unecessary moves
2020-04-27 22:19:08 +01:00
Francisco Paisana
12b2ea7dde
remove warnings for base classes with no virtual dtors
2020-04-27 22:19:08 +01:00
Francisco Paisana
b8e6ba02e4
remove warnings related to unused vars and fwd declarations with trivial dtors
2020-04-27 22:19:08 +01:00
yagoda
8e0b106c22
fixing some warnings from LGTM
2020-04-27 20:59:40 +02:00
Andre Puschmann
1e0c8ead4c
srsue,sync: fix TTI gap calculation and reporting
...
The current TTI gap calculation assumes strict continuity
of radio time stamps, even when retuning, changing sample rate, etc.
This is certainly desireble but not necessaritly the case and may cause
issues when negative time gaps or too large gaps are detected and reported
to the stack.
this patch makes the assumption that valid TTI jumps are between 1ms
and 1s and that larger gaps are the result of screwed time-stamps
or too long radio operations.
2020-04-27 17:01:02 +02:00
Andre Puschmann
3aa0179caf
{ue,enb}.conf.example: add zmq examples to config
...
the examples are commented but by just uncommenting those
two lines the user should be able to run a eNB and UE on the same
machine in SISO mode over ZMQ
2020-04-27 11:03:48 +02:00
Francisco Paisana
b506e29b72
removed common ce_typeenum
2020-04-24 11:55:53 +01:00
Xavier Arteaga
58803d1b3e
Added UL EARFCN map and UE PHY interface cleanup
2020-04-23 09:00:45 +02:00
Xavier Arteaga
89dcd6339f
More LGTM fixes
2020-04-22 18:01:43 +02:00
Xavier Arteaga
77d5dedddc
Fix LGTM warnings and recommendations
2020-04-22 18:01:43 +02:00
Xavier Arteaga
562590e595
Fix LGTM warnings
2020-04-22 18:01:43 +02:00
Pedro Alvarez
ad0abe740b
Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity.
2020-04-22 17:44:00 +02:00
Francisco Paisana
6ddedd5972
moved pdu to common mac folder
2020-04-22 10:06:08 +01:00
Xavier Arteaga
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
2020-04-20 16:10:27 +02:00
Xavier Arteaga
4756319e8f
Reduce PHY logging
2020-04-20 16:10:01 +02:00
Xavier Arteaga
11a2d2cc4a
Fix and tidy up time offset in srsue
2020-04-20 16:10:01 +02:00
Francisco Paisana
28467d568d
eliminated old way to schedule tasks using the heap
2020-04-17 11:38:24 +01:00
Andre Puschmann
2e7e61f53e
rrc_meas: fix another compile error on 32bit
2020-04-16 17:45:53 +02:00
Andre Puschmann
8c925e90f5
rrc: fix compile error on 32bit machines
2020-04-16 10:24:27 +02:00
Andre Puschmann
20d9a83dac
fix printfs of 64bit numbers when compiling for 32 bit
...
this caused issues when compiling in 32bit on RPi2
2020-04-15 13:42:26 +02:00
Xavier Arteaga
04c47e2b47
Added srsue argument for enabling EVM calculation
2020-04-15 11:39:57 +02:00
Xavier Arteaga
1cabe2d55f
Load PDSCH configuration arguments
2020-04-15 11:39:57 +02:00
Francisco Paisana
c09f76ed6c
unified stack task defer method
2020-04-10 22:30:59 +01:00
Andre Puschmann
d35c9e2b89
nas: add support ot UE test loop mode B
...
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
2020-04-10 21:18:43 +02:00
Andre Puschmann
66a799661e
gw,tft: move traffic flow template matching into own class
...
this prepares the reuse of the matching functions for the TTCN3 DUT.
create own matcher class that the GW uses.
2020-04-10 21:18:43 +02:00
Xavier Arteaga
198684ce32
SRSUE: all TA control logic into a single class and faster TA response
2020-04-10 15:57:41 +02:00
Francisco Paisana
a2ade9edd1
break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder
2020-04-09 10:10:04 +01:00
Francisco Paisana
2950d26daa
remove asn1 namespace from srsue files
2020-04-09 10:10:04 +01:00
Andre Puschmann
451bbb20e8
ttcn3_ss: refactor AS security activation and use new timed call
2020-04-09 10:55:13 +02:00
Ismael Gomez
309c10b0c6
Set CFO from initial cell search
2020-04-08 13:18:05 +02:00
Andre Puschmann
54a99d3f66
ttcn3_dut: add basic DRB handler skeleton
...
the handler is currently just listening on the designated port
and prints the received JSON string
2020-04-04 22:52:18 +02:00
Daniel Willmann
925225dbeb
Implement Close UE Test Loop/Complete messages
...
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
2020-04-04 22:51:43 +02:00
Andre Puschmann
a4abd96ab6
nas: use MME security header when receiving identity request
...
this basically avoids sending a integrity protected or ciphered
identity response to a plain identity request
2020-04-03 22:22:04 +02:00
Andre Puschmann
4f8f6bf90c
nas: add comment as to why attach request is only integrity protected
2020-04-03 22:22:04 +02:00
Andre Puschmann
84d80f3e32
ss: use factory method to create PDCP config for SRB
2020-04-03 22:22:04 +02:00
Andre Puschmann
acc2948b45
nas: fix security handling
...
First of all, with this the NAS conformance tests pass with ciphering and
integrity turned on. Before only integrity was working.
Mainly the NAS was applying the integrity protection and/or ciphering
incorrectly because it wasn't taking the secuirty status of the PDUs
into account. Some where already correct, some not. The patch
streamlines the handling for all outgoing messages.
2020-04-03 22:22:04 +02:00
Xavier Arteaga
9a2b0b7cc7
Standard vector allocation uses vector library
2020-04-02 20:49:58 +02:00
Xavier Arteaga
25312e81b4
SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object
2020-04-02 13:52:23 +02:00
Xavier Arteaga
cbaba9c0bd
Fix RRC and TTCN3 test
2020-04-02 13:52:23 +02:00
Xavier Arteaga
051e8fcc52
SRSUE: Apply default PHY config to SCell as well
2020-04-02 13:52:23 +02:00
Xavier Arteaga
e9813375eb
SRSUE: set SNR threshold for MIB decoding
2020-04-02 13:52:23 +02:00
Xavier Arteaga
6d355ab61e
SRSUE: Fix HO initial CFO
2020-04-02 13:52:23 +02:00
Francisco Paisana
30ae2226c1
common interface for stack multiqueue tasks, background tasks and timers
2020-03-31 13:42:06 +01:00
Andre Puschmann
62e4bd9469
log_ptr: fix issue if accessing log_ptr that was reset already
...
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()
i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
2020-03-31 12:32:52 +02:00
Andre Puschmann
dbb8b6a360
nas: add helper for entering new state in FSM
...
the helper will log the event
2020-03-30 11:23:40 +02:00
Andre Puschmann
ef80502047
nas: print attach attempts on console
2020-03-30 11:23:40 +02:00
Andre Puschmann
f477c1d2e5
nas: allow starting a attach request procedure even if a PLMN is already selected
...
previously the NAS would cancel a attach request procedure if the PLMN
is already selected. PLMN selection, however, in not necessarily happening
before requesting RRC to establish a connection.
2020-03-30 11:23:40 +02:00
Andre Puschmann
d8680cc9a8
nas: add helper to pack attach request and send to RRC
2020-03-30 11:23:40 +02:00
Andre Puschmann
cf28276a3a
nas: add helper function to reset NAS security context
2020-03-30 11:23:40 +02:00
Andre Puschmann
94c6034339
nas: rename start_attach_request to start_attach_proc
...
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann
9239bb14a6
ss: store current TTI in DL/UL grant struct
...
this fixes the TTI log in the PCAP generated by the UE
2020-03-30 11:23:40 +02:00
Andre Puschmann
5267a88d60
ttcn3_ss: remove unneeded NDI reset
2020-03-29 22:36:33 +02:00
Andre Puschmann
562b4ef6c8
ttcn3_ss: add missing timer stepping
2020-03-28 21:24:13 +01:00
Andre Puschmann
0e76b9ed15
nas: set NAS key set identifier to no key available when attaching with IMSI
2020-03-28 21:24:13 +01:00
Andre Puschmann
9cfe692825
nas: fix reset of attach attempt counter according to 24.301 Sec 5.5.1.1
2020-03-27 18:15:37 +01:00
Andre Puschmann
d0480141e5
nas: move re-arming and stopping of attach request related timers
...
t3402, t3410 and t3411 are now managed in the sender
function of the attach request. previosly they were only
correctly started in the high-level NAS call start_attach_request()
which may not be called if NAS itself resends the request
2020-03-27 18:15:37 +01:00
Andre Puschmann
15c47fab56
nas: adding t3402 to restart attach after initial attach attempt counter expired
2020-03-27 18:15:37 +01:00
Andre Puschmann
7ef56cb637
nas: add an attach attempt counter as described in 24.301
2020-03-27 18:15:37 +01:00
Francisco Paisana
1538917c3f
fix ue metrics
2020-03-25 19:18:00 +00:00
Francisco Paisana
599588ff51
removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking
2020-03-25 19:18:00 +00:00
Ismael Gomez
95c6916987
Improve robustness in RF Overflow ( #1124 )
...
* Use task id to track old background tasks in RA procedure
* Improve robustness against RF overflow in PHY
* Increase SNR out-of-sync threshold
* Do not change frequency if it's the same
* Increase sync priority
* Increase time to start receiving to reduce input buffer occupation
* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Francisco Paisana
344eaf49ec
use logmap in the whole enb and ue
2020-03-25 15:50:30 +00:00
Francisco Paisana
8e837e173d
printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ")
2020-03-24 22:36:27 +00:00
Ismael Gomez
4fe68e2d54
Verify that cell is valid before configuring scell
2020-03-24 16:45:05 +01:00
Francisco Paisana
c7741f368f
update rrc_meas_test
2020-03-24 12:28:12 +00:00
Francisco Paisana
aeed623734
removed pdu processing from the ue rrc cmd queue. Instead, now the rrc processes the incoming pdus right away. This is essential to fix the security cmd issue in the ue
2020-03-24 12:28:12 +00:00
Xavier Arteaga
8e891b7038
Added AWGN channel to SRSUE and SRSENB
2020-03-24 12:16:28 +01:00
Andre Puschmann
b9a2217355
fix uninit vars reported by Coverity
2020-03-24 09:47:07 +01:00
Xavier Arteaga
5e6828c3a0
SRSUE: fix add/mod meas object
2020-03-24 08:13:44 +01:00
Andre Puschmann
3f10224729
refactor airplane mode simulation and move to NAS
...
- move handling to NAS
- use switch off to enable airplane mode (don't wait for EPC response)
- add tiny FSM to control airplane mode activation/deactivation
- only start on/off counter after state has been entered
2020-03-23 13:36:25 +01:00
Andre Puschmann
ac1d4d994b
srsue: refactor arg parsing error handling
2020-03-22 18:29:03 +01:00
Francisco Paisana
70c2510c25
simplified mac_test step interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
e91a7ea513
removed stack-mac interface dedicated methods. We use now the task dispatch methods instead
2020-03-22 11:50:58 +00:00
Francisco Paisana
de03c96c3b
mac::process_pdus now uses the stack task dispatch interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
7f6bde59fc
move write_pdu_pcch and write_pdu_bcch_bch to stack thread
2020-03-22 11:50:58 +00:00
Francisco Paisana
de3c28e52d
added task dispatch capabilities to stack interface
2020-03-22 11:50:58 +00:00
Francisco Paisana
46a1be3e76
updated mac-rlc interface to use unique_byte_buffer
2020-03-22 11:50:58 +00:00
Ismael Gomez
7c7c83b9ad
Address comments
2020-03-22 08:48:40 +01:00
Ismael Gomez
71723c315d
Apply PHY configs to workers sequentially without interrupting processing
2020-03-22 08:48:40 +01:00
Ismael Gomez
fd3d4a7874
Refactor thread_pool: use std::mutex and fix some hidden potential bugs
2020-03-22 08:48:40 +01:00
Francisco Paisana
82cb6baef0
now the whole ue and enb mac uses the logmap
2020-03-20 11:32:03 +00:00
Francisco Paisana
602690246e
avoid calling rrc::run_tti multiple times in a tti jump
2020-03-19 21:52:53 +00:00
Francisco Paisana
45bc123967
remove manual tti counters from the rrc
2020-03-19 21:52:53 +00:00
Francisco Paisana
138347b6b5
nas using stack timers
2020-03-19 21:52:53 +00:00
Francisco Paisana
770f04b92a
the rrc now only works with the stack latest tti, instead of mac's tti
2020-03-19 16:47:55 +00:00
Francisco Paisana
e3e5b5be11
removed tti from some mac subcomponent interfaces
2020-03-19 16:47:55 +00:00
Francisco Paisana
d3f49d0e3c
changed interface sync-stack to allow tti jumps > 1
2020-03-19 16:47:55 +00:00
Francisco Paisana
fb967d17a2
now we can disable tprofs individually
2020-03-19 10:59:37 +00:00
Francisco Paisana
e73cbb09b0
created tprof statistic for sliding windows
2020-03-19 10:59:37 +00:00
Xavier Arteaga
ea1b6b60dd
Fix UHD memory issues
2020-03-18 18:34:05 +01:00
Xavier Arteaga
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
2020-03-18 16:12:51 +01:00
Francisco Paisana
597334c4bf
limit the rlc queue size for suspended bearers
2020-03-18 13:22:08 +00:00
Andre Puschmann
12dfe1cc58
fix srsUE's CSV DL metrics
2020-03-17 19:00:10 +01:00
Andre Puschmann
cf9306abdb
fix UE CSV metrics header typo
2020-03-17 16:14:14 +01:00
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
2020-03-17 09:58:01 +01:00
Ismael Gomez
cf4f4508ce
Normalize throughput in CSV/stdout metrics with respect to number of TTIs
2020-03-16 22:58:09 +01:00
Andre Puschmann
69d9914e0a
fix bit rate plotting in CSV metrics
2020-03-16 22:02:28 +01:00
Ismael Gomez
a1f1b44e26
Fixed flush period
2020-03-16 11:39:39 +01:00
Ismael Gomez
78463b8092
Add CC, PCI and earfcn
2020-03-16 11:39:39 +01:00
Ismael Gomez
568dbdb6d6
Fix typo
2020-03-16 11:39:39 +01:00
Ismael Gomez
1da7b2c8b9
Fix compilation issue
2020-03-16 11:39:39 +01:00
Ismael Gomez
23cc42ce9f
CSV metrics per carrier. Add options to flush file earlier and append to file
2020-03-16 11:39:39 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
Daniel Willmann
b7e11b7bda
Use RRC establishment cause mo-signalling for NAS Attach procedure
2020-03-15 18:27:51 +01:00
Daniel Willmann
3a804e23fa
ttcn3_sys_interface: Parse SIBs even when "StaticCellInfo" is missing
...
The test TC_9_2_1_1_1 sends a Cell->AddOrReconfigure->Basic message
without a "StaticCellInfo" member. This is used to change SIB1 of
the cell and simulate a different PLMN/TAC in the test.
handle_request_cell_basic() ignored the json message if "StaticCellInfo"
is missing which results in the SIB not being updated (PLMN stays as
00102 for example).
With this patch the SIBs after the json are now parsed even if there
"StaticCellInfo" is missing. A confirmation of the json is not sent
because the test does not seem to expect one in that case.
Related: TC_9_2_1_1_1
2020-03-15 18:27:51 +01:00
Daniel Willmann
bc4e4ff97b
ttcn3_ip_sock_interface.h: Don't respond to UDP/ICMP Close
...
A close request should not be responded to with a ctrl_cnf
2020-03-15 18:27:51 +01:00
Daniel Willmann
275f26d875
liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types
2020-03-15 18:27:51 +01:00
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
2020-03-13 19:20:40 +00:00
Andre Puschmann
70ffe79b43
add support for periodic airplane mode simulation in srsUE
2020-03-13 17:35:03 +01:00
Xavier Arteaga
6c4e807141
SRSUE: fix signal ready issue
2020-03-13 14:01:58 +01:00
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
2020-03-13 14:01:58 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Andre Puschmann
1b1e7ac1a6
only print error when trying to enable non-existing carrier in UE
2020-03-12 21:04:15 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Xavier Arteaga
65711d06dc
PRACH TA base default to 0 and apply clang-format
2020-03-11 16:58:00 +01:00
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
2020-03-11 16:25:56 +01:00
Andre Puschmann
356fa9258b
check configured flag of SCell struct before enabling SCell
...
this prevents crashing the UE when receiving a SCell activation
command before the SCell has been configured from RRC
2020-03-11 10:16:23 +01:00
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
2020-03-11 09:00:38 +00:00
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
2020-03-10 15:01:00 +01:00
Daniel Willmann
1314b8f653
Implement override_lcid() function in ttcn3_sys_interface
...
Fixes: TC_7_1_1_1 (#6 )
2020-03-09 11:56:54 +01:00
Pau Espin Pedrol
1d81ef9e24
gw: Proper error log on non-existing netns
2020-03-09 11:08:12 +01:00
Andre Puschmann
5b8b718482
simplify NAS security handling and fix missing call in act test mode complete
...
add extra method to apply NAS security config, if configured,
that can be used by each NAS message sender
2020-03-06 18:07:21 +01:00
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
2020-03-06 15:26:48 +01:00
Andre Puschmann
e2892047e9
refactor UE shutdown
...
use alarm to give UE time to gracefully terminate
if the UE can't terminate and the alarm goes off, flush the logs
and exit
2020-03-05 21:33:17 +01:00
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Andre Puschmann
df31a5c4cc
store CC idx in DL/UL HARQ entity
2020-03-05 20:46:14 +01:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Andre Puschmann
8e4f2a4d59
add UE parameter to enable TTI stats calculations
2020-03-03 16:22:04 +01:00
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
2020-03-03 16:22:04 +01:00
Andre Puschmann
8b46f631c1
add basic TTI stats in stack
2020-03-03 16:22:04 +01:00
Andre Puschmann
ae4cfb50f2
print warning to console if TUN interface couldn't be setup
2020-03-03 15:25:53 +01:00
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
2020-03-02 12:19:09 +01:00
Andre Puschmann
e7c10270fa
ttcn3_ss: fix security activation for PDCP
2020-03-01 18:26:45 +01:00
Andre Puschmann
9e113f8b27
pdcp: allow to configure security for rx/tx seperately
...
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.
this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.
This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
2020-03-01 18:26:45 +01:00
Andre Puschmann
5a03eaed2b
ss: move timing_info_t to ttcn3_helpers, fix PDCP count handling
2020-03-01 18:26:45 +01:00
Andre Puschmann
72c5b381e4
fix bug when parsing cipher algo config for SS
2020-03-01 18:26:45 +01:00
Andre Puschmann
8a69772ebc
rewrite packing of DL PDU in SS
...
the new algo tries to write more than just one RLC PDU inside a MAC PDU
if this is possible
2020-03-01 18:26:45 +01:00
Andre Puschmann
e919c57a32
add handling of FollowOnFlag from tester
2020-03-01 18:26:45 +01:00
Andre Puschmann
51864bc03c
rrc: print release cause when receiving rrc connection release
2020-03-01 18:26:45 +01:00
Francisco Paisana
ac52208409
removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes
2020-02-28 18:03:29 +00:00
Andre Puschmann
dffa2af461
fix NAS re-attach after detach request from network
...
needed to add a timer to delay transmission of attach request
to allow RRC release on eNB side
2020-02-28 18:09:21 +01:00
Andre Puschmann
e4f85ec390
remove re-arming of t3411 after PLMN search
...
t3411 is restarted after attach or TAU failure only
2020-02-28 18:09:21 +01:00
Andre Puschmann
89d5876470
add TimingInfo support for remaining SS commands
2020-02-28 18:09:21 +01:00
Andre Puschmann
5b31c1db43
nas: delete security context when receiving attach reject with cause 3, 6, or 35
2020-02-28 12:52:44 +01:00
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
2020-02-28 11:33:26 +00:00
Francisco Paisana
4739f3084f
fix logs for SIB acquire
2020-02-28 10:08:01 +01:00
Francisco Paisana
b8b8740258
fix wraparound in si proc and error in scell parsing
2020-02-28 10:08:01 +01:00
Andre Puschmann
81e28aa9dc
add basic support for TimingInfo field from tester
...
this fixes an issue where commands are received out of
order and we are therefore applying configs incorrectly. if
commands include a timinginfo we are now putting the command
on a queue that the SS reads after the start of a new TTI.
the security and cell reconfig commands will be added in another
PR after the AS_security command has been fixed.
2020-02-27 21:27:43 +01:00
Andre Puschmann
55a5947df7
add default init to TTCN3 syssim to prevent segfault when tc_start isn't received
2020-02-26 12:20:23 +01:00
Andre Puschmann
39f2011699
fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late
2020-02-25 21:28:15 +01:00
Andre Puschmann
b88e877b4c
ttcn3: make SS single threaded and use SCTP for test ports
...
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
2020-02-25 21:28:15 +01:00
Andre Puschmann
6d88b640b7
rrc: log full message if decoding fails
2020-02-25 21:28:15 +01:00
Francisco Paisana
82629c6910
made failure to compute si periodicity more explicit. Created a const for sib1 periodicity
2020-02-20 20:48:36 +01:00
Francisco Paisana
5a64fc0a93
sib_acquire_proc is not tti-driven anymore. No need to call run explicitly
2020-02-20 20:48:36 +01:00
Francisco Paisana
57da7fd986
fixed issue with setting retry timer. I had to account for si_window_start in the timer duration
2020-02-20 20:48:36 +01:00
Francisco Paisana
925ac862cb
sib acquiring is failing for sib2
2020-02-20 20:48:36 +01:00
Francisco Paisana
c29f08d8d5
refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling
2020-02-20 20:48:36 +01:00
Xavier Arteaga
f8165383f6
Neighbour SCell measurement test waits for final measurement before exiting-xx
2020-02-18 21:26:20 +01:00
Ismael Gomez
7cdd1c2ba4
Set FIND sampling rate before setting frequency
2020-02-18 12:26:39 +01:00
Francisco Paisana
4d80856359
fix bug in cell selection initiation
2020-02-18 09:47:33 +01:00
Francisco Paisana
22f51bb30b
made cell select non-blocking using background threads
2020-02-18 09:47:33 +01:00
Ismael Gomez
21f01f6140
Do not print error when UL RNTI is not valid
2020-02-17 13:11:43 +01:00
Ismael Gomez
72e6fa40fc
Fix multiple issues with DCI sizes when using CA.
2020-02-17 11:21:34 +01:00
Ismael Gomez
be82e1f368
Fix concurrency bug in ZMQ during srate change ( #954 )
...
The bug was manifesting as buffer overflow in 20 MHz 2x2 CA
2020-02-16 21:31:51 +01:00
Ismael Gomez
4fb83ae26d
Run configure_prach_params as a background task
2020-02-16 21:27:24 +01:00
Andre Puschmann
701e4aa6be
fix bug causing segfault when UE wasn't initialized
2020-02-15 19:33:25 +01:00
Andre Puschmann
dc4be1b856
fix overwriting dedicated_info_nas in connection_request_proc
...
this fixes an issue in the step() function of the connection_request_proc
in which the dedicated_info_nas message was passed to RRC without
checking if its actually valid or not, i.e. contains a message at all.
because this check was missing and the step() function could be called
multiple-times, the function would overwrite the dedicated_info_nas
in RRC, and therefore causing the connection setup complete to fail
2020-02-15 19:33:25 +01:00
Andre Puschmann
f25b4f17f1
nas: log attach request cause
2020-02-15 19:33:25 +01:00
Andre Puschmann
b15cd3fdaa
add error handling to TTCN3 socket handlers
2020-02-15 19:33:25 +01:00
Andre Puschmann
42920d508f
fix SS debug output
2020-02-15 19:33:25 +01:00
Andre Puschmann
327aa97cfd
add macro for invalid RNTI 0x0
2020-02-15 19:33:25 +01:00
Andre Puschmann
265037c202
some tiny MAC code refactoring and typo fixing
2020-02-15 19:33:25 +01:00
Andre Puschmann
8d284f48bd
cancel RA when receiving contention resolution in wrong state
...
this fixes a bug in which the contention resolution timer expired
and the RA proc entered the BACKOFF state.
In the same TTI, a MAC PDU with the contention reslution ID is received
and the already aborted RA procedure succeeds. Unfortunatly with the
wront c-rnti which has already been reset before. See log excerpt
below:
16:16:36.909687 [RRC ] [D] MEAS: Processing measurement of 1 cells
16:16:36.909706 [RRC ] [I] MEAS: New measurement serving cell: rsrp=-85.00 dBm.
16:16:36.909732 [MAC ] [I] [ 6283] RA: ConRes: Contention Resolution Timer expired. Stopping PDCCH Search and going to Response Error
16:16:36.909749 [MAC ] [D] [ 6283] RA: ConRes: Backoff wait interval 143
16:16:36.909771 [MAC ] [D] [ 6282] Delivering PDU=27 bytes to Dissassemble and Demux unit (Temporal C-RNTI)
16:16:36.909799 [MAC ] [D] [ 6283] Found Contention Resolution ID CE
16:16:36.909814 [MAC ] [D] [ 6283] RA: Backof: MAC PDU Contains Contention Resolution ID CE
16:16:36.909826 [MAC ] [D] [ 6283] Msg3 buffer flushed
16:16:36.909858 [MAC ] [I] [ 6283] RA: Backof: Random Access Complete. c-rnti=0x0, ta=0
16:16:36.909871 [MAC ] [D] [ 6283] Saved MAC PDU with Temporal C-RNTI in buffer
2020-02-15 19:33:25 +01:00
Xavier Arteaga
6672f6df0f
Minor aesthetic changes in intra measure class and changed scell_search test arguments
2020-02-13 14:25:00 +01:00
Xavier Arteaga
344016ef0a
Refactored and commented SRSUE's Intra measure component
2020-02-13 14:25:00 +01:00
Xavier Arteaga
8f6dd184be
SRSUE: neighbour cell measurement test defined
2020-02-13 14:25:00 +01:00
Xavier Arteaga
f935916e7c
SRSUE: fix srsue_rf_test
2020-02-13 10:29:00 +01:00
Francisco Paisana
c76cdc6cea
refactored the serving cell config procedure. there was one more state than it was needed.
2020-02-10 22:03:16 +01:00
Andre Puschmann
cccabdaf4f
removing unneeded install targets for static libs (reported by Filipe)
2020-02-10 17:38:42 +01:00
Andre Puschmann
627dac49b0
log message when ASN1 couldn't unpack DL message
2020-02-10 12:17:08 +01:00
Andre Puschmann
c7343cf6d8
protect sf_buffer from overrun in receive_samples
...
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.
currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).
By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Andre Puschmann
23bab1f207
fix potential segfault when overrunning char array
...
this fixed an issue when printing many neighbor cells because
the calculation of the remaining length can be negative
2020-02-07 10:20:12 +01:00
Andre Puschmann
0e337a01c3
fix SRB2 security handling in SS
2020-02-07 10:20:12 +01:00
Andre Puschmann
7c1b4c1f12
add support for IMEISV when requesting UE idendity
2020-02-07 10:19:42 +01:00
Ismael Gomez
f2851b037e
Fix concurrency issue in set_crnti()
2020-02-06 20:30:09 +01:00
Pau Espin Pedrol
2f3a125757
srsue: fix trailing whitespace
2020-02-06 16:19:40 +01:00
Pau Espin Pedrol
4949df257e
Proper shutdown on SIGHUP
...
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
2020-02-06 16:19:40 +01:00
Andre Puschmann
ed179fd311
timers: rename value() to time_elapsed()
...
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
2020-02-06 14:40:47 +01:00
Xavier Arteaga
4d3c28ff97
SRSUE: wait for valid RSRP measurement before adquiring SIBs during cell search
2020-02-06 09:14:05 +01:00
Andre Puschmann
9720449cbb
fixing RRC measurement test after logmap refactor
2020-02-03 12:51:46 +01:00
Andre Puschmann
3d7598a4cb
rewrite cell handling in TTCN3 PHY and SS
2020-02-03 12:51:46 +01:00
Andre Puschmann
2a46413121
during cell search don't configure found cell as serving cell
...
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.
instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
2020-02-03 12:51:46 +01:00
Andre Puschmann
ca54f02b87
fix RRC measurement reporting when reportInterval is set to infinity
2020-02-03 12:51:46 +01:00
Andre Puschmann
bbacc35e24
move configuration of default logger to main
...
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
2020-02-03 12:51:46 +01:00
Xavier Arteaga
5302fcfa4d
SRSUE: listen to paging only when RRC is IDLE
2020-02-03 12:51:46 +01:00
Xavier Arteaga
fe199e6be2
SRSUE: Undo enable/disable RA procedure flag
2020-02-03 12:51:46 +01:00
Xavier Arteaga
66bb7d6f82
SRSUE: fix TTCN3 compile
2020-02-03 12:51:46 +01:00
Xavier Arteaga
f8294fb9df
SRSUE: RRC measurements refactor and more fixes
2020-02-03 12:51:46 +01:00
Ismael Gomez
52716f8716
Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
...
rrc_meas refactor. Need to split commit
Fix typo
Temporal commit
Apply rx_gain_offset to neighbour cell measurements
srsLTE: modify TESTASSERT Macro to follow codeline
SRSUE: prevent RRC from having serving cell in neighbour list
SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release
SRSUE: extend intra-frequency to CA SCell
SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue
SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful
SRSUE: fix compilation issues and Reest SIB indexes
Fixes sync using incorrect cell configuration when search cell does not find a correct cell
Small refactor to remove measurement report triggers always after removing measurement
SRSUE: Removed SIC PSS from UE
SRSUE: fix inter-frequency reestablishment and added more traces
SRSUE: Fix compilation issue
2020-02-03 12:51:46 +01:00
Francisco Paisana
296af7e297
fix setting up nas log before all log configuration
2020-01-31 11:56:02 +00:00
Francisco Paisana
ea777d92e8
applied new logmap class to nas
2020-01-29 14:20:43 +00:00
Xavier Arteaga
c080cb3395
SRSUE: expose correct synch error parameter
2020-01-29 12:25:13 +01:00
Ismael Gomez
17f9ff326b
Expose in-sync and out-of-sync constants to ue.conf
2020-01-29 11:46:55 +01:00
Ismael Gomez
cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission
2020-01-28 21:33:10 +01:00
Francisco Paisana
91d83fc20d
different way to retrieve a proc future
2020-01-24 10:10:27 +00:00
Ismael Gomez
171e26ee68
Add checks more checks for UL grants
2020-01-24 10:40:39 +01:00
Francisco Paisana
5ae3afd2b8
created cbit_ref for unpacking const buffers
2020-01-23 12:22:19 +00:00
Francisco Paisana
5468189cd9
fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab)
2020-01-21 00:58:19 +00:00
Andre Puschmann
b0bfc7956d
use const& in metrics interface
2020-01-14 20:52:09 +01:00
Andre Puschmann
77522a6b69
add srsUE parameter to change netns before creating TUN in GW
2020-01-14 20:52:09 +01:00
yagoda
260648582e
small formatting fix
2020-01-14 16:53:57 +01:00
yagoda
fc1c506d1f
refactoring TA command structure in UE
2020-01-14 16:53:57 +01:00
yagoda
2db90c5dd3
allowing TA CE commands in Msg4
2020-01-14 16:53:57 +01:00
Andre Puschmann
d045213fb9
fixing bug in RRC measurement when receiving periodic config
...
in the UE conformance testing we've spotted an issue
where an event was evaluated even though the trigger type for
the report was periodic which caused an exception in RRC
2020-01-08 17:34:06 +01:00
Andre Puschmann
bc6aa1a166
fixing PDCP call in TTCN3 SS
...
this fixes an issue introduced in 6ec573987a
2020-01-07 11:05:20 +01:00
Andre Puschmann
e24d33562a
disabling ue_phy_test temporarily
2019-12-30 00:16:59 +01:00
Andre Puschmann
6ec573987a
remove default value for 'blocking' param from pdcp::write_sdu()
...
there were two defaults and one was shadowing the other. This
commit removes both defaults and uses blocking-mode for RRC
calls to PDCP in the UE. The eNB write_sdu() uses the non-blocking
mode by default. We have to review the eNB's RRC perhaps and use blocking
there too and non-blocking only for data plane
2019-12-29 23:45:37 +01:00
Andre Puschmann
8f419c035b
fixing snprintf issue where return value was used for length calculation
2019-12-29 23:38:27 +01:00
Andre Puschmann
e5609e299d
fix UE PHY test compilation on 32 bit systems
2019-12-23 23:06:52 +01:00
Xavier Arteaga
36b2102de8
SRSUE: avoid testing ue_phy_test
2019-12-23 22:57:37 +01:00
Xavier Arteaga
0134d47ee8
SRSUE: clear EARFCN list if the list is not empty
2019-12-23 22:57:37 +01:00
Xavier Arteaga
11eafa8ab4
srsLTE: FFTW wisdom gets loaded and saved by default
2019-12-23 22:57:37 +01:00
Xavier Arteaga
c92dce71b7
srsLTE: AGC only uses boundaries for requesting gain to Radio
2019-12-23 22:57:37 +01:00
Pedro Alvarez
6d4303cd94
Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch.
2019-12-20 17:33:55 +01:00
Xavier Arteaga
089a5e21dc
Label test that memcheck is excessively long
2019-12-19 13:01:05 +01:00
Xavier Arteaga
ad46fc006f
srsLTE: Fix thread memory leak. Moved test. Fix CLang warnings.
2019-12-19 13:01:05 +01:00