1441 Commits (b7d74ef70b6fed94c09b4ac666506cda746e08bb)

Author SHA1 Message Date
Ismael Gomez 0382933cb1 Select serving cell if PHY not in sync 4 years ago
Francisco Paisana d7a0fe4060 improve log messages for CA 4 years ago
Andre Puschmann a5c0f96fa7 srsue: limit sync queue length to 1 for ZMQ radio
apply same change that we've done on the eNB also on the UE
to avoid the PHY processing TTIs faster than the stack.

Without that, we see lots of those in the logs:

...
08:39:17.580325 [STCK] [W] Detected slow task processing (sync_queue_len=7).
...
4 years ago
Andre Puschmann cf12c98630 srsue: exit early if radio can't be initialized
since the radio is the first component we initialize, it is safe to
exit the ue::init() straight away, as no other layers use any handles yet
4 years ago
Andre Puschmann e981d5ee70 rrc,ue: refactor wait conditions before transition to RRC idle
before entering RRC idle, after receiving a RRC connection release for example,
we need to wait until the RLC for SRB1 or SRB2 have been flushed, i.e.
the RLC has acknowledged the reception of the message.

Previously we have only waited for SRB1 but the message can also be received on SRB2
and in this case both bearers need to be checked.

The method is now streamlined to check both SRBs and is also used when
checking the msg transmission of an detach request.
4 years ago
Xavier Arteaga 2f0c38fc70 SRSUE: avoid deadlock while configuring cell from stack 4 years ago
Francisco Paisana a0606669e2 fix ue nr gw initialization 4 years ago
Francisco Paisana fddcbc9879 fix vnf-ue stack interface 4 years ago
Andre Puschmann aca307b79b ue,rrc: don't log neighbor list in info mode
this floods the info log
4 years ago
Francisco Paisana d7138b7752 fix nr activation guards 4 years ago
Ismael Gomez 29e126a583
Add per-channel TX gain (#1450)
* Change type of rf_set_gain() to avoid unambiguous return with negative gains

* Add per-channel TX gain
4 years ago
Francisco Paisana ddff68a546 add ifdef guards for NR code 4 years ago
Francisco Paisana 6735199728 fix nr optional linking 4 years ago
Francisco Paisana f0874b780b add radio_base/null classes 4 years ago
Xavier Arteaga 0e415260e9 SRSUE: scell_sync vector changed to map 4 years ago
Xavier Arteaga e0e8405285 SRSUE: initial scell sync
SRSUE: SCell Synch feedbacks delay

SRSUE: Implemented SCell Radio offset correction
4 years ago
Francisco Paisana a42c20b73d preemptive transmission of the rrc reconf complete 4 years ago
Ismael Gomez 54b331c504
Adds best neighbour to CSV and stdout metrics (#1440) 4 years ago
Xavier Arteaga 65a603f522 SRSUE: minor AGC code readability improvement 4 years ago
Xavier Arteaga f04cf2090a Integrates number of samples in radio buffer
Fix minor issue

Radio: Fix minor bug and add unit test
4 years ago
Xavier Arteaga de230826b9 Added string helper for removing spaces and parsing list
Fix

Fix string parser
4 years ago
Xavier Arteaga 89b24b54e5 Refactored radio class for acommodating multiple RF devices 4 years ago
Andre Puschmann d1cb5531d6 demux: fix typo 4 years ago
Andre Puschmann c71d6b9204 ue,rrc: improve error message when cell selection fails due to missing SIBs 4 years ago
Francisco Paisana 057980d1fb use common log helper macros 4 years ago
Francisco Paisana 27e5d98ef9 added vnf phy nr 4 years ago
Pedro Alvarez 396dc82b98 Swapped resume with reestablish in the UE. 4 years ago
Xavier Arteaga 0e5704731e Removed UHD unrelated changes 4 years ago
Xavier Arteaga cd463d1b87 UHD: Initial C++ porting
UHD: cmakefix

x3
4 years ago
Andre Puschmann 8512c10286 create simple helper method to log command line arguments 4 years ago
Ismael Gomez 84b84eaad6 Move search_in_common variable 4 years ago
Ismael Gomez 9b634b8d2a Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398 4 years ago
Francisco Paisana 17cd3a02cb fix pcch error message 4 years ago
Francisco Paisana 877dee2ba8 fix use of phy cell select procedure 4 years ago
Francisco Paisana 3d76cc6c1a fix dangling pointer in cell selection dispatching 4 years ago
Francisco Paisana 81848deae2 extended handover procedure to accommodate all the handover (phy cell select + ra) 4 years ago
Francisco Paisana 556fcb69e7 fix handover my defering to next tti the reestablishment of bearers 4 years ago
Francisco Paisana 71cac8f5b8 fix phy cell selection triggering 4 years ago
Francisco Paisana 37ce475398 fix+refactor of the ue rrc handover preparation procedure to avoid deadlocking 4 years ago
Pedro Alvarez 960c0e97cd Added handling of RRC re-establishment to srsENB.
* Added the appropriate code for handling and sending the
   re-establishment procedure messages to rrc_ue.c/.h.
 * Triggered RRC reconfiguration after the reception of RRC
   re-establishment complete
 * Refreshed K_eNB at the reception of re-establishment
   request
 * Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
   as the RNTI might change with reestablishment.
4 years ago
Francisco Paisana 29fd147d41 remove unused rrc variables 4 years ago
Francisco Paisana 76a3c0ed1c removed deadcode 5 years ago
Francisco Paisana 4cf756434f add srsue::rrc_nr srsue::ue_stack_nr 5 years ago
Francisco Paisana 6a164e032d added srsue::rrc_nr 5 years ago
chaolinyi bbe25a00d4 Update proc_ra.cc to bugfix RA-RNTI calculation
Bugfix the wrong ra_rnti calculation in ra_proc::state_pdcch_setup.
According to TS 36.321 Subsection 5.1.4 Random Access Response reception, we can see the formula on RA-RNTI, which is,
    RA-RNTI= 1 + t_id + 10*f_id,
where t_id is the index of the first subframe of the specified PRACH (0≤ t_id <10), and f_id is the index of the specified PRACH within that subframe, in ascending order of frequency domain (0≤ f_id< 6). Then, reading the srslte source code, we can see that, the code should bugfix. 
BTW, the wrong code can run normal for LTE_FDD, causing of the info_f_id = 0; but it should be wrong, when it is LTE_TDD.
5 years ago
Ismael Gomez 6a19a19f00 Fix memory fault during exiting and waiting for worker 5 years ago
Francisco Paisana 9a0ea6e08c use log_helper for log macros 5 years ago
Francisco Paisana 0b701022a3 added ue nr mac 5 years ago
Francisco Paisana d36ae722d5 added extra debug logs 5 years ago
Ismael Gomez 5d42d16b79 Do not cancel Regular BSR after triggering SR. Fixes mac_test 5 years ago
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