1441 Commits (b7d74ef70b6fed94c09b4ac666506cda746e08bb)

Author SHA1 Message Date
Ismael Gomez b5ccbf1891 Simplify relationship between BSR, SR and RA procedures. Fix issue #1346 5 years ago
Xavier Arteaga ac0e347d94 SRSUE: refactored sync.cc and clean up 5 years ago
faluco d80bce79e0 Fix for 1489462. 5 years ago
faluco eb69321649 Fix for issue 1476278. 5 years ago
Pedro Alvarez 2ea78c8feb Added configuration options for stack logging. 5 years ago
Ismael Gomez 8c82203c74 Removed unused pregenerate option 5 years ago
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.
5 years ago
Andre Puschmann ead2acf70c ue: add info to check ue log file when param parsing failed 5 years ago
Andre Puschmann 552179a113 srsue: flush CSV metrics before stopping 5 years ago
Francisco Paisana de4d58d8fe fix coverity scan issues in master 5 years ago
Xavier Arteaga 9d0a3268e8 Added DL channel estimator algorithm options 5 years ago
Francisco Paisana af9ca9f9e5 remove unecessary moves 5 years ago
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.
5 years ago
Francisco Paisana b506e29b72 removed common ce_typeenum 5 years ago
Xavier Arteaga 58803d1b3e Added UL EARFCN map and UE PHY interface cleanup 5 years ago
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 5 years ago
Xavier Arteaga 562590e595 Fix LGTM warnings 5 years ago
Pedro Alvarez ad0abe740b Added support to PDCP SN len of 7. Also added a check for valid configs in pdcp entity. 5 years ago
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 5 years ago
Xavier Arteaga 4756319e8f Reduce PHY logging 5 years ago
Xavier Arteaga 11a2d2cc4a Fix and tidy up time offset in srsue 5 years ago
Francisco Paisana 28467d568d eliminated old way to schedule tasks using the heap 5 years ago
Andre Puschmann 2e7e61f53e rrc_meas: fix another compile error on 32bit 5 years ago
Andre Puschmann 8c925e90f5 rrc: fix compile error on 32bit machines 5 years ago
Andre Puschmann 20d9a83dac fix printfs of 64bit numbers when compiling for 32 bit
this caused issues when compiling in 32bit on RPi2
5 years ago
Xavier Arteaga 04c47e2b47 Added srsue argument for enabling EVM calculation 5 years ago
Xavier Arteaga 1cabe2d55f Load PDSCH configuration arguments 5 years ago
Francisco Paisana c09f76ed6c unified stack task defer method 5 years ago
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
5 years ago
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.
5 years ago
Xavier Arteaga 198684ce32 SRSUE: all TA control logic into a single class and faster TA response 5 years ago
Francisco Paisana a2ade9edd1 break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder 5 years ago
Francisco Paisana 2950d26daa remove asn1 namespace from srsue files 5 years ago
Ismael Gomez 309c10b0c6 Set CFO from initial cell search 5 years ago
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.
5 years ago
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
5 years ago
Andre Puschmann 4f8f6bf90c nas: add comment as to why attach request is only integrity protected 5 years ago
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.
5 years ago
Xavier Arteaga 9a2b0b7cc7 Standard vector allocation uses vector library 5 years ago
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 5 years ago
Xavier Arteaga 051e8fcc52 SRSUE: Apply default PHY config to SCell as well 5 years ago
Xavier Arteaga e9813375eb SRSUE: set SNR threshold for MIB decoding 5 years ago
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 5 years ago
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 5 years ago
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
5 years ago
Andre Puschmann dbb8b6a360 nas: add helper for entering new state in FSM
the helper will log the event
5 years ago
Andre Puschmann ef80502047 nas: print attach attempts on console 5 years ago
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.
5 years ago
Andre Puschmann d8680cc9a8 nas: add helper to pack attach request and send to RRC 5 years ago
Andre Puschmann cf28276a3a nas: add helper function to reset NAS security context 5 years ago
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.
5 years ago
Andre Puschmann 0e76b9ed15 nas: set NAS key set identifier to no key available when attaching with IMSI 5 years ago
Andre Puschmann 9cfe692825 nas: fix reset of attach attempt counter according to 24.301 Sec 5.5.1.1 5 years ago
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
5 years ago
Andre Puschmann 15c47fab56 nas: adding t3402 to restart attach after initial attach attempt counter expired 5 years ago
Andre Puschmann 7ef56cb637 nas: add an attach attempt counter as described in 24.301 5 years ago
Francisco Paisana 1538917c3f fix ue metrics 5 years ago
Francisco Paisana 599588ff51 removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking 5 years ago
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
5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
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 ") 5 years ago
Ismael Gomez 4fe68e2d54 Verify that cell is valid before configuring scell 5 years ago
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 5 years ago
Xavier Arteaga 8e891b7038 Added AWGN channel to SRSUE and SRSENB 5 years ago
Xavier Arteaga 5e6828c3a0 SRSUE: fix add/mod meas object 5 years ago
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
5 years ago
Andre Puschmann ac1d4d994b srsue: refactor arg parsing error handling 5 years ago
Francisco Paisana e91a7ea513 removed stack-mac interface dedicated methods. We use now the task dispatch methods instead 5 years ago
Francisco Paisana de03c96c3b mac::process_pdus now uses the stack task dispatch interface 5 years ago
Francisco Paisana 7f6bde59fc move write_pdu_pcch and write_pdu_bcch_bch to stack thread 5 years ago
Francisco Paisana de3c28e52d added task dispatch capabilities to stack interface 5 years ago
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 5 years ago
Ismael Gomez 7c7c83b9ad Address comments 5 years ago
Ismael Gomez 71723c315d Apply PHY configs to workers sequentially without interrupting processing 5 years ago
Ismael Gomez fd3d4a7874 Refactor thread_pool: use std::mutex and fix some hidden potential bugs 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Francisco Paisana 602690246e avoid calling rrc::run_tti multiple times in a tti jump 5 years ago
Francisco Paisana 45bc123967 remove manual tti counters from the rrc 5 years ago
Francisco Paisana 138347b6b5 nas using stack timers 5 years ago
Francisco Paisana 770f04b92a the rrc now only works with the stack latest tti, instead of mac's tti 5 years ago
Francisco Paisana e3e5b5be11 removed tti from some mac subcomponent interfaces 5 years ago
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 5 years ago
Francisco Paisana fb967d17a2 now we can disable tprofs individually 5 years ago
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 5 years ago
Xavier Arteaga ea1b6b60dd Fix UHD memory issues 5 years ago
Xavier Arteaga f3f03ad12d SRSUE PHY: Add extra debugging information to errors 5 years ago
Francisco Paisana 597334c4bf limit the rlc queue size for suspended bearers 5 years ago
Andre Puschmann 12dfe1cc58 fix srsUE's CSV DL metrics 5 years ago
Andre Puschmann cf9306abdb fix UE CSV metrics header typo 5 years ago
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.
5 years ago
Ismael Gomez cf4f4508ce Normalize throughput in CSV/stdout metrics with respect to number of TTIs 5 years ago
Andre Puschmann 69d9914e0a fix bit rate plotting in CSV metrics 5 years ago
Ismael Gomez a1f1b44e26 Fixed flush period 5 years ago
Ismael Gomez 78463b8092 Add CC, PCI and earfcn 5 years ago
Ismael Gomez 568dbdb6d6 Fix typo 5 years ago
Ismael Gomez 23cc42ce9f CSV metrics per carrier. Add options to flush file earlier and append to file 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Daniel Willmann b7e11b7bda Use RRC establishment cause mo-signalling for NAS Attach procedure 5 years ago
Daniel Willmann 275f26d875 liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types 5 years ago
Francisco Paisana 5330249625 created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure 5 years ago
Andre Puschmann 70ffe79b43 add support for periodic airplane mode simulation in srsUE 5 years ago
Xavier Arteaga 6c4e807141 SRSUE: fix signal ready issue 5 years ago
Xavier Arteaga 5af89513eb use double precission for frequency in srsue and srsenb 5 years ago
Ismael Gomez e8b8c9922e
Add RF per-channel frequency band constraints (#1026) 5 years ago
Andre Puschmann 1b1e7ac1a6 only print error when trying to enable non-existing carrier in UE 5 years ago
Xavier Arteaga 76408b195e Rename TX_DELAY and FDD_HARQ_DELAY_MS 5 years ago
Xavier Arteaga 65711d06dc PRACH TA base default to 0 and apply clang-format 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
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
5 years ago
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.
5 years ago
Andre Puschmann f2e1bfa699 refactor naming for s/p/cell structs and {enb,ue}_cc_idx 5 years ago
Pau Espin Pedrol 1d81ef9e24 gw: Proper error log on non-existing netns 5 years ago
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
5 years ago
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 5 years ago
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
5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 5 years ago
Andre Puschmann df31a5c4cc store CC idx in DL/UL HARQ entity 5 years ago
Andre Puschmann 8e4f2a4d59 add UE parameter to enable TTI stats calculations 5 years ago
Andre Puschmann 8b46f631c1 add basic TTI stats in stack 5 years ago
Andre Puschmann ae4cfb50f2 print warning to console if TUN interface couldn't be setup 5 years ago
Xavier Arteaga 2fc0832f05 Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes 5 years ago
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.
5 years ago
Andre Puschmann 51864bc03c rrc: print release cause when receiving rrc connection release 5 years ago
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 5 years ago
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
5 years ago
Andre Puschmann e4f85ec390 remove re-arming of t3411 after PLMN search
t3411 is restarted after attach or TAU failure only
5 years ago
Andre Puschmann 5b31c1db43 nas: delete security context when receiving attach reject with cause 3, 6, or 35 5 years ago
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 5 years ago
Francisco Paisana 4739f3084f fix logs for SIB acquire 5 years ago
Francisco Paisana b8b8740258 fix wraparound in si proc and error in scell parsing 5 years ago
Andre Puschmann 39f2011699 fix issue in SS where Msg4 wouldn't be sent because ConnectionSetup is provided too late 5 years ago
Andre Puschmann 6d88b640b7 rrc: log full message if decoding fails 5 years ago
Francisco Paisana 82629c6910 made failure to compute si periodicity more explicit. Created a const for sib1 periodicity 5 years ago
Francisco Paisana 5a64fc0a93 sib_acquire_proc is not tti-driven anymore. No need to call run explicitly 5 years ago
Francisco Paisana 57da7fd986 fixed issue with setting retry timer. I had to account for si_window_start in the timer duration 5 years ago
Francisco Paisana 925ac862cb sib acquiring is failing for sib2 5 years ago
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 5 years ago
Ismael Gomez 7cdd1c2ba4 Set FIND sampling rate before setting frequency 5 years ago
Francisco Paisana 4d80856359 fix bug in cell selection initiation 5 years ago
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 5 years ago
Ismael Gomez 21f01f6140 Do not print error when UL RNTI is not valid 5 years ago
Ismael Gomez 72e6fa40fc Fix multiple issues with DCI sizes when using CA. 5 years ago
Ismael Gomez be82e1f368
Fix concurrency bug in ZMQ during srate change (#954)
The bug was manifesting as buffer overflow in 20 MHz 2x2 CA
5 years ago
Ismael Gomez 4fb83ae26d Run configure_prach_params as a background task 5 years ago
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
5 years ago
Andre Puschmann f25b4f17f1 nas: log attach request cause 5 years ago
Andre Puschmann 327aa97cfd add macro for invalid RNTI 0x0 5 years ago
Andre Puschmann 265037c202 some tiny MAC code refactoring and typo fixing 5 years ago
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
5 years ago
Xavier Arteaga 6672f6df0f Minor aesthetic changes in intra measure class and changed scell_search test arguments 5 years ago
Xavier Arteaga 344016ef0a Refactored and commented SRSUE's Intra measure component 5 years ago
Xavier Arteaga f935916e7c SRSUE: fix srsue_rf_test 5 years ago
Francisco Paisana c76cdc6cea refactored the serving cell config procedure. there was one more state than it was needed. 5 years ago
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 5 years ago
Andre Puschmann 627dac49b0 log message when ASN1 couldn't unpack DL message 5 years ago
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.
5 years ago
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
5 years ago
Andre Puschmann 7c1b4c1f12 add support for IMEISV when requesting UE idendity 5 years ago
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 5 years ago
Pau Espin Pedrol 2f3a125757 srsue: fix trailing whitespace 5 years ago
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.
5 years ago
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
5 years ago
Xavier Arteaga 4d3c28ff97 SRSUE: wait for valid RSRP measurement before adquiring SIBs during cell search 5 years ago
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.
5 years ago
Andre Puschmann ca54f02b87 fix RRC measurement reporting when reportInterval is set to infinity 5 years ago
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
5 years ago
Xavier Arteaga 5302fcfa4d SRSUE: listen to paging only when RRC is IDLE 5 years ago
Xavier Arteaga fe199e6be2 SRSUE: Undo enable/disable RA procedure flag 5 years ago
Xavier Arteaga f8294fb9df SRSUE: RRC measurements refactor and more fixes 5 years ago
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
5 years ago
Francisco Paisana 296af7e297 fix setting up nas log before all log configuration 5 years ago
Francisco Paisana ea777d92e8 applied new logmap class to nas 5 years ago
Xavier Arteaga c080cb3395 SRSUE: expose correct synch error parameter 5 years ago
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 5 years ago
Ismael Gomez cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission 5 years ago
Francisco Paisana 91d83fc20d different way to retrieve a proc future 5 years ago
Ismael Gomez 171e26ee68 Add checks more checks for UL grants 5 years ago
Francisco Paisana 5ae3afd2b8 created cbit_ref for unpacking const buffers 5 years ago
Francisco Paisana 5468189cd9 fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab) 5 years ago
Andre Puschmann b0bfc7956d use const& in metrics interface 5 years ago
Andre Puschmann 77522a6b69 add srsUE parameter to change netns before creating TUN in GW 5 years ago
yagoda fc1c506d1f refactoring TA command structure in UE 5 years ago
yagoda 2db90c5dd3 allowing TA CE commands in Msg4 5 years ago
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
5 years ago
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
5 years ago
Andre Puschmann 8f419c035b fixing snprintf issue where return value was used for length calculation 5 years ago
Xavier Arteaga 0134d47ee8 SRSUE: clear EARFCN list if the list is not empty 5 years ago
Xavier Arteaga 11eafa8ab4 srsLTE: FFTW wisdom gets loaded and saved by default 5 years ago
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 5 years ago
Xavier Arteaga a7e92c384e srsLTE: applied minor comments in tti semaphore 5 years ago
Xavier Arteaga d2c6dda025 SRSUE: Avoid sf_worker return without calling worker_end 5 years ago
Xavier Arteaga 447ede327c srsLTE: removed unused argument 5 years ago
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Andre Puschmann f874722cfb fix error handling in UE init
previously we've returned the init() function when a sublayer
init failed. This leaves the pointers to the layers unset which, in turn,
breaks the stop() call for the UE
5 years ago
Andre Puschmann 4a9e3728c9 add condtional variable for PHY initialization and configuration
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
5 years ago
Andre Puschmann 705cd3c211 fix typos spotted by aleksander0m 5 years ago
Andre Puschmann 3127f59b4c wait with init of GUI until cell is found and initialized
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.

this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
5 years ago
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Andre Puschmann c7ee887170 add factory function for creating PDCP config 5 years ago
Andre Puschmann f7f956708c use helper function to print MIB content 5 years ago
Andre Puschmann 8a064cd3a6 pass msg_type from caller when logging RRC message
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
5 years ago
Andre Puschmann 60d07f1656 assign msg-type to temp variable before logging ASN1 message in RRC 5 years ago
Andre Puschmann fa2821a4e7 fixing periodic measurment reporting
fixes various issues with unset timers, interval parameters, etc.
with those fixes, TC_8_3_1_1 and TC_8_3_1_2 pass
5 years ago
Francisco Paisana d59016ae68 use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb 5 years ago
Ismael Gomez 44c23b1690 Fix bug in rrc_meas in ASN to_number() conversion, making the UE to generate Measurement reports every TTI 5 years ago
Xavier Arteaga 1fa5a19a55 SRSUE: SRSUE: fix timealigmenttimer 5 years ago
Xavier Arteaga bcde542111 SRSUE: fix typo 5 years ago
Xavier Arteaga b9492bbd73 SRSUE: Fix set intra-frequency cell during cell search 5 years ago
Xavier Arteaga 8ad69b0c4d SRSUE: Fixed minor RRC measurement 5 years ago
Xavier Arteaga db36fb08a2 SRSUE: fix intra-frequency measurement cell select 5 years ago
Xavier Arteaga 22e4d3c905 SRSUE: Camping SFN synchronism discards cell 5 years ago
Xavier Arteaga e89dde0f35 SRSUE: Check cell is valid 5 years ago
Xavier Arteaga 4be4f56333 SRSUE: Fix duplicates ACK 5 years ago
Francisco Paisana d270518d69 updated rrc to new srsasn1 version 5 years ago
Xavier Arteaga 0ec49f00f7 SRSUE: Reset measurements during cell search in PHY 5 years ago
Pedro Alvarez e68956bcf6 Adding discard timer timeout to PDCP config. 5 years ago
Xavier Arteaga a8763cb7a0 SRSUE: Added Cell PCI in console trace 5 years ago
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 5 years ago
Xavier Arteaga 7312752988 SRSUE: reestablishment procedure wait for children to finish before aborting 5 years ago
Xavier Arteaga 6d896ee453 Fixed more static code analysis warnings 5 years ago
Xavier Arteaga 8dd1c59e18 Added amplitude and power conversions to dB and viceversa 5 years ago
Xavier Arteaga b4b1ab94af SRSUE RRC: new PHY unknown sync state, cell select waits for PHY in-sync 5 years ago
Xavier Arteaga 67935d2b99 SRSUE: RRC blocks MAC RA procedure during reestablishment 5 years ago
Andre Puschmann 71c83bd0e0 fixing typo in RRC proc 5 years ago
Andre Puschmann 8ef0d6c6ca do not automatically consider cells for which a measurment has been received as "in sync"
the in_sync flag has been misused in some parts of the code
receiving a PHY measurement for a cell does not automatically
mean that we are "in sync", as it is used in RRC as a condition
to indicate if we are camping on cell

the in_sync/out_of_sync condition should only be altered by the
corresponding functions sent from the PHY for the currently selected
cell (and not automatically for all cells)

the commit also removes the deletion of cells which are not "in sync"
from the list of neighbor cells. Instead, RRC calls a clean-up function
peridically that deletes old cells eventually.
5 years ago
Xavier Arteaga f5e4ff9f4d SRSUE: RRC Reest Procedure Refactor 5 years ago
Xavier Arteaga dbdb699a78 SRSUE: minor RRC/PHY fixes 5 years ago
Xavier Arteaga f37a096f10 SRSUE: Refactored/Fixed RRC connection Re-establishment and minor CLang Format/Tidy fixes 5 years ago
Francisco Paisana 54992e72f1 fixed and simplified multiqueue task api to avoid dangling pointers. 5 years ago
Francisco Paisana ac4d3b9624 std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable 5 years ago
Andre Puschmann 4e2d9c6b60 specify MAC source files in UE 5 years ago
Andre Puschmann 6f72cbffab fix snprintf of uint64 for ARM 5 years ago
Pedro Alvarez 15613465cf Moving some initialization from init function to constructor in the PDCP entities. 5 years ago
Francisco Paisana c8e50c1e19 DL/UL sched are called in a round-robin fashion 5 years ago
Andre Puschmann 1a7142d73f fix GW init procedure and set pool instance in ctor 5 years ago
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 5 years ago
Francisco Paisana dc0f7acfda a new future was not being created for the new cell_search 5 years ago
Andre Puschmann d25a734200 fix uninit value in NAS and move emm_info on stack 5 years ago
Francisco Paisana ecba994712 fixed bad initialization of t311 5 years ago
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 5 years ago
Francisco Paisana 15bde8660a getting a future of an already finished proc is dangerous 5 years ago
Francisco Paisana 248583ecdf added extra logging and removed uneeded member from proc_t 5 years ago
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 5 years ago
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
5 years ago
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 5 years ago
Francisco Paisana c1be118d1d new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor() 5 years ago
Francisco Paisana 8980810061 added some util print functions and fixed the issue with sync::cell_select when the last cell search was not successful 5 years ago
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 5 years ago
Andre Puschmann 82e3fd1052 fix uninitialized vars in RRC 5 years ago
Andre Puschmann 891a66a2e5 make the establishment cause a paramter when sending a connection request
needed to signal a mo_sig establishment cause after a RLF
5 years ago
Andre Puschmann c24b25f42e after RLF store PCI of current serving cell
the PCI is needed for the reestablishment request in case
the new serving cell has changed
5 years ago
Andre Puschmann c1da02cd07 after initiating reestablishment, we need to perform cell reselection immediatly
before cell reselection was postponed to the next TTI but this is not possible in
the case where the serving cell changes.

if the "old" serving cell is no longer suitable, we would directly go to RRC IDLE below.
Therefore we need to select the new serving cell before sending the reestablishment
request.

this is tested in TC_8_5_1_1
5 years ago
Andre Puschmann b631106612 always print RF errors to stdout 5 years ago
Andre Puschmann 1a68fbc460 fix wrong setting for RF log level 5 years ago
Francisco Paisana 9bcb268421 added for-range loop and bool decay checks to clang-tidy. Applied some of the recommendations of clang-tidy to nas.cc 5 years ago
Andre Puschmann cf548fe807 nas: add handling of T3410/T3411 5 years ago
Andre Puschmann 35307a047a make UE switch_on non-blocking
this allows a simpler main that just signals NAS to switch on the UE
but doesn't block until the action is completed.

For making sure the UE also attached if the first attempt failed
the NAS needs to be extended to support the correct timers.
5 years ago
Francisco Paisana 80ef7f8497 changed the name of proc Error/Warning/Info logging macros 5 years ago
Francisco Paisana 71ebac861c fix nas proc logging, and reuse of cell selection result 5 years ago
Francisco Paisana 81a466a641 since we moved cell search to the background thread, cell reselection prints a error message that it cannot start. In fact it already started. It is just waiting for the cell search to finish. This PR fixes this 5 years ago
Francisco Paisana e67f66e539 moved cell search completed signal from the background thread to the stack thread 5 years ago
Xavier Arteaga 0b00e6d94a SRSUE: fixed CSI and HARQ collision for CA 5 years ago
Xavier Arteaga 743cce5503 SRSUE: Added end of burst when a out-of-sync is detected in PSS/SSS sync 5 years ago
Xavier Arteaga a9dae4c29c SRSUE: Enable Asynchronous SCell Receiver AGC 5 years ago
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 5 years ago
Andre Puschmann 7a672ca340 fix typo 5 years ago
Francisco Paisana b1496317d5 fixed the pcch proc issue by letting the cell selection explicitly propagate its result to the pcch_process_proc 5 years ago
Andre Puschmann 3a678b1e5f fixed wrong SRS parameter logging 5 years ago
Andre Puschmann 3c6ff0da30 make NAS logging less verbose 5 years ago
Andre Puschmann c5f52adfba nas: fix issue in which NAS wouldn't allow to attach once it failed
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.

The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
5 years ago
Francisco Paisana 2fb830fcfa moved cell search to background task thread pool, and provided a stack interface to rrc to call "start_cell_search". Once completed, the background task signals back to RRC 5 years ago
Andre Puschmann 0467d8bc84 rework neighbor cell handling 5 years ago
Andre Puschmann c7f0caa24a add TTI field to MAC dl/ul grants and fix PCAP to include TTI 5 years ago
Francisco Paisana 6db0e474be moved RA waiting procedure to a background task of the stack thread pool 5 years ago
Xavier Arteaga efdec15964 Renamed lock_guard (lg) to lock 5 years ago
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 5 years ago
Andre Puschmann f94d2537a3 nas: send identity response integrity protected if security ctxt is present 5 years ago
Andre Puschmann bb84b27f0b fix RRC connect proc in NAS to allow reattch after detach 5 years ago
Andre Puschmann cfadd1ba0b use received count for NAS integrity check
using the local rx count has caused issues when our UE
missed one NAS message was therefore out-of-sync and then
dropped all following NAS messages due to integrity failure

the NAS spec clearly states that the UE should use the
count received as an input for the integrity check calculation
5 years ago
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 5 years ago
Xavier Arteaga ef26bc7451 SRSUE: fixed prach TA correction 5 years ago
Andre Puschmann 0e6b0768fd print PCCH hex when decoding fails 5 years ago
Andre Puschmann 2f47010eb6 fix various uninitialized vars 5 years ago
Andre Puschmann 0e89f72846 remove EPS bearer deletion when going RRC idle
when going RRC idle, NAS gets informed and currently
clears all registered EPS bearers. This is wrong because
the EPS can outlive a RRC session.

Also in the conformance tests it's clearly seen
that after a RRC release a dedicatated EPS bearer is
created with a linked EPS bearer ID that has been
created _before_ RRC went idle.
5 years ago
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 5 years ago
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 5 years ago
Xavier Arteaga dedf0f2f78 Added initial time to delay channel simulator 5 years ago
Xavier Arteaga 54974d935e SRSUE PHY: unitialised values and attributes clean-tidy up 5 years ago
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 5 years ago
Ismael Gomez 0984debe1b
Fix issues with RLF in B210 and X300 (#669)
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300

* Fix issue #655
5 years ago
Francisco Paisana 946ead06e8 using an interface between the stack and lower mac to process demux pdus. 5 years ago
Andre Puschmann 57317fab7c expose debug_long to class log and use in RRC to log ASN1 structs 5 years ago
Andre Puschmann 7dde4f3b8a fix BCCH-BCH logging in RRC debug mode
also decode BCCH-BCH using ASN1 lib and write MIB to log
5 years ago
Andre Puschmann 99a6d49e78 only write MIB to PCAP if cell search was successful 5 years ago
Francisco Paisana 7e67aee839 resolved the uninit variable issue in the queue_test 5 years ago
Francisco Paisana 14267640ee implemented andre's PR review requests 5 years ago
Francisco Paisana 11ec5cdba6 added a maximum capacity to the pending task multiqueue, so that the buffer pool does not get depleted 5 years ago
Francisco Paisana 63457f195c extented queue test 5 years ago
Francisco Paisana a2d7b2320a placed GW packets in the same thread as UE stack thread 5 years ago