Commit Graph

1234 Commits

Author SHA1 Message Date
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 2f3a125757 srsue: fix trailing whitespace 2020-02-06 16:19:40 +01:00
Pau Espin 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