2485 Commits (6f2c64194148370e79aea41e9aaa2f8d269cee3f)

Author SHA1 Message Date
Francisco Paisana 61e225d762 asn1: move setup_release_c from rrc_nr_asn1 to asn1_utils and improved interface 3 years ago
Fabian Eckermann 4182a9f164 Add cell group update without random access. 3 years ago
Fabian Eckermann cb6809c9b2 Add SA RRC reconfiguration test. 3 years ago
Fabian Eckermann a6c1098afe Add decoding of RRC reconfiguration. 3 years ago
Fabian Eckermann a9724fced1 Remove unused code from test. 3 years ago
Xavier Arteaga 6c4c1ea155 NR UE PHY: interfaced fix wideband CQI reporting in nr_phy_test 3 years ago
Ismael Gomez 4d382905fd ue,lte: run parse_meas_config after RACH is complete to avoid race condition with PHY reset 3 years ago
Ismael Gomez 2d31e11144 ue,lte: update rx_gain_offset more frequently. Avoid calling UHD driver when getting rx_gain 3 years ago
Ismael Gomez 120ad5c72f ue: store new EARFCN in the foreground of cell_select to avoid race conditions with the other cmd_worker 3 years ago
Robert Falkenberg 226001709d srsUE: refactor option to filter N_id_1 / SSS to configuration
* pick the cell with strongest peak (instead of last match)
* proper selection if N_id_2 was forced too
* add comment explaining potential occlusion of cells
3 years ago
Matan Perelman 0dff58613f srsUE: Add option to filter N_id_1 / SSS to configuration 3 years ago
Andre Puschmann dd28f173b0 ue: log fixes 3 years ago
Fabian Eckermann 7f6fd45b1f Add NSA TDD/FDD tests for new RRC reconfiguration interface. 3 years ago
Fabian Eckermann 6252d94ef4 Change NSA RRC reconfiguration interface to prepare for SA. 3 years ago
Fabian Eckermann 1407983c75 Add decoding of RRC setup. 3 years ago
Fabian Eckermann 93210d9bb3 Add unit tests for new functions. 3 years ago
Fabian Eckermann affdacd9b4 Add decoding of sib1. 3 years ago
Ismael Gomez 0ea7dbee2d srsue,phy: initialize NR PHY only if NR carriers are defined in ue.conf 3 years ago
Andre Puschmann 2e70256548 ue,nsa,rrc: fix RRC's unfinished PHY config for CSI in NSA mode
if this commit brakes the attach in SA, we need to investigate again
and provide another fix that works for both NSA/SA.
3 years ago
Ismael Gomez f04227c3fb srsue,nr: add default NAS 5G ia5g and ea5g arguments 3 years ago
Ismael Gomez 825d363d44 srsue,nr: fix crnti mac CE not being added in msg3 3 years ago
Ismael Gomez 3c929ed24c ue,sa: Sends PRACH and receives RAR, then Msg4, resolves contention resolution and pushes ConnectionSetup to RRC 3 years ago
Ismael Gomez 15025f5d57 Merge remote-tracking branch 'origin/sa_ue_rrc2' into feature_nr_sa_igm 3 years ago
Ismael Gomez 46f4be458a ue,sa: can sync and receive pbch successfully 3 years ago
Andre Puschmann 38da5a9c94 ue,rrc,test: add RRC conn setup testcase 3 years ago
Andre Puschmann 28bd93be40 ue,sa: add minimal cell selection and setup request procedure
skeleton based on EUTRA procedures
3 years ago
Ismael Gomez 219bae4fd3 srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg 3 years ago
Ismael Gomez c71ab70b83 Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes 3 years ago
Ismael Gomez 6947f87bcb Add minimum NR SA logic in parent PHY class 3 years ago
Ismael Gomez fb897d2998 Refactor PHY interfaces to remove difference between SA and NSA PHY 3 years ago
Ismael Gomez 58ab8086ff Added multi gNb simulation and RF 3 years ago
Xavier Arteaga f5446422bc UE NR SA interface expects PBCH message instead of spare fields 3 years ago
Xavier Arteaga fb17e3326f More development in UE NR SA cell search 3 years ago
Xavier Arteaga 47b857db25 Initial gnb emulator 3 years ago
Xavier Arteaga b1bcc1a8c0 Initial UE NR SA PHY classes 3 years ago
Andre Puschmann 7227f03314 ue,rrc_nr: refactor reconfig procedure to own source file
preparation to add next procedure
3 years ago
Andre Puschmann ccd4334672 rrc_nr: add basic interface for NAS 3 years ago
Andre Puschmann a15962c817 ue,rrc: move NR RRC into own folder 3 years ago
Fabian Eckermann 8bac4eceda Add ue MAC procedures for PDCCH orders. 3 years ago
Fabian Eckermann d0c07fc86e Add packing of dci format 1A for pdcch orders. 3 years ago
Francisco e8beb2ef81 nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists 3 years ago
Andre Puschmann b687f58ff0 ue,cc_worker: print coreset info in debug mode 3 years ago
Carlo Galiotto 2eaf9add48 rrc,nr: rename boolean variable 3 years ago
Carlo Galiotto ba50bbfb76 rlc,rrc,nr: remove rb_type from rlc_um_config
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 9c2099f680 rrc,rlc,nr: fix RB label in RLC-NR for UE logs + ..
add rb_type in rlc_um_config

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
faluco dfd16718fe Fix data race in proc_sr_nr. 3 years ago
faluco 3b2f0d2f65 Fix several issues in GW class:
- Avoid triggering an assertion when the  gw thread is pending termination.
- Re-order gw::stop method to avoid a race condition when closing the TUN device while the gw thread is still running.
3 years ago
Alejandro Leal Conejos eb889d740d Fixes coverity 369513 3 years ago
Bedran Karakoc fa87715724 Increase context rx count for handled messages 3 years ago
Bedran Karakoc b6b0dd911b Apply NAS security for Identity Response 3 years ago
Bedran Karakoc 66ed8b9065 Add NSSAI slice differentiator, currently only 0 supported 3 years ago
Bedran Karakoc 4e60475200 Apply security to Deregistration Request (UE Originating) 3 years ago
faluco f1385640c4 Fix data race in proc_bsr and ul_harq classes. 3 years ago
faluco 3f0d4f0293 Fix data races in proc_bsr_nr and proc_ra_nr. 3 years ago
Fabian Eckermann 1c75ed10a8 Initialize variable. 3 years ago
Ismael Gomez d972fb368c
Some LGTM fixes (#3564)
* Fix LGTM issues

* ue: add logging to switch on function

* Fix new LGTM issues
3 years ago
Alejandro Leal Conejos 2a2518b7e4 Fixes coverity 372096 3 years ago
Ismael Gomez bdbaf7357a ue,nr: Protect pending_cfgs in PHY worker_pool 3 years ago
faluco b058945142 Fix data race in sync::current_earfcn. 3 years ago
faluco 92b81b200f Fix data race in ul_harq_process::current_irv. 3 years ago
faluco dc31fb05a3 Fix ODR issue detected by ASAN in arch for the srsran_verbose global variable. 3 years ago
Pedro Alvarez a40a2dc191 Disable integrity/encription at PDCP-NR, as it will break when packets arrive out-of-order. 3 years ago
faluco 91677a9dcb Fix data race in sync::state, the stop() did not acquire the required lock. 3 years ago
Xavier Arteaga ebab12403f
Asynchronous NR PHY configuration (#3527)
* Fix a race condition when accessing the NR PHY cfg by the RRC and phy workers.
Rework how the phy cfg is handled, now workers have their own copy that gets updated after a reconfig moving it out of the state class.

* Default initialize sf_len member in sf_worker for consistency.

* Asynchronous NR PHY configuration

* Fix compilation

* Corrected method override and fix unitialised value

* Added carrier equal comparison to avoid aligment byte padding comparison

Co-authored-by: faluco <borja.ferrer@softwareradiosystems.com>
3 years ago
faluco 28887a4384 Relax memory ordering for atomic load for the ul_harq::current_tx_nb member. 3 years ago
faluco 3ecc8bb4c6 Fix data race in gw::deactivate_eps_bearer. 3 years ago
faluco 5f93ff6ed0 Batch of data race fixes in the following classes: RLC AM, Intra measure, UL HARQ, PHY common. 3 years ago
Andre Puschmann dd5eda04e3 ue,rrc_nr: clear DRB to LCID lookup during RRC release 3 years ago
Pedro Alvarez fbcffb84bd Check if RLC is suspended before transmiting PDCP SDU.
This was done to avoid integrity issues, when the UE's RRC erroneously sent
measurement reports while the re-establishment was already in progress.

As errously sending PDCP PDUs on DRBs can cause issues as well, this was
disabled too.
3 years ago
faluco 904d05d4c4 Fix data race in bsr_proc::print_state().
While there, early exit if the log info channel is disabled to avoid formatting a string that will not be used.
3 years ago
Ismael Gomez c096270fc7 ue,nr: ignore NDI if received on T-CRNTI or RAR 3 years ago
Ismael Gomez 0de984d12f srsue: protect access to phy common shared measurement 3 years ago
Pedro Alvarez 7155de91ca Added command to forcefully flush the buffers on srsenb and srsue. 3 years ago
faluco d7e8d6bf65 Fix data race in mux_nr::add_bsr_ce. 3 years ago
Carlo Galiotto 4e3564a8a2 mac,stdout: add PUSCH and PUCCH SINR to stdout
This commit implements the PUCCH and PUSCH metrics in the MAC,
to be displayed in the eNB console.

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto ebaa71d190 ue,stdout: fix the SNR formatting in UE console (NR)
When the SNR value is INF, the conversion to (int) causes
-2147483648 to be displayed in the UE console.
This commit fixes the formatting, so that the values INF or
NaN would be displayed as N/A

NOTE: The issue of getting an INF value for the reported SNR metric
still needs to be addressed separately.
3 years ago
Ismael Gomez d32bfa3756 remove warning when UE is already in camping 3 years ago
Andre Puschmann 97d43eb044 mac_nr_test: add PDU packing test for two SDUs from different LCs 3 years ago
Andre Puschmann d4a4da7ecc mux_nr: fix tiny issue in mux unit when adding SDUs of different logical channels
this issue has a tiny affect when adding new SDUs from different logical channels
to an UL MAC PDU.

Since the MAC subPDU header is accounted for twice, less SDU payload may be packed.

The patch calculates the required header space and accounts for it in the scheduling.
Howerver, it is only substracted from the available space when an SDU was actually added.
3 years ago
Andre Puschmann cc87af2986 ue,rrc: simplify code 3 years ago
Francisco 08c96b0e35 nr,ue,mac: added TODO comment warning about missing functionality in srsue::mac_nr::reset method 3 years ago
Francisco 81174bda64 nr,ue,rrc: release NR logical channels during RRC release 3 years ago
Xavier Arteaga e93503bae3 Minor changes 3 years ago
Xavier Arteaga 3c40cd2840 Improved NR PHY logging info 3 years ago
faluco dacf40f63e Delete move constructor and move assignment operator explictly for mac_pcap_base and s1ap_pcap classes.
Move emergency handlers header file into the support folder.

Refactored signal handling:
- Remove the dependency with the running static variable in the header file.
- Move implementations down to cc files.
- Allow specifying a new signal handler that will be used to stop the applications.
- Move signal handling files to support.
3 years ago
faluco 9075251627 Move the cleanup code from the signal handlers down to the new emergency handlers for the ue, epc and enb. 3 years ago
Bedran Karakoc 0507d9df2b nas,nr: Fix ciphering and sequence numbers in NAS 3 years ago
Andre Puschmann c467c3c0e6 ue,rrc_nr: remove warning when zp_csi_rs_res_to_add_mod_list is not present
we currently don't enable ZP CSI in the eNB so the warning can be removed.
3 years ago
faluco 5f648d195c Implement JSON reporting in the scell search test. 3 years ago
Andre Puschmann 908c469f30 sync: don't fail camping on cell if current and target srate match
this fixes #3437. The check/requirement for target srate to be different
to current srate isn't needed, and in fact fails for 6 PRBs where both are
indentical always.
3 years ago
Andre Puschmann 1068a84bd0 sync: fix typo 3 years ago
Andre Puschmann fed53c91d0 mac_nr_test: add TC to reproduce #3325
extend the rlc_dummy to allow providing different RLC PDUs.
add TC for issue #3325 but leave the original TV because it is very large.
3 years ago
Andre Puschmann 7cbd3d50b7 mac_sch_pdu_nr,bsr: fix length check for BSR
fix nasty bug where the length calucation for the LCID
was taking the bsr_format_nr_t that was having the same name.
3 years ago
Xavier Arteaga 1bffebe0bf Removed cached PRACH signals 3 years ago
Alejandro Leal Conejos 1a64c6adad Enum fixes so clang 12 can build the repo 3 years ago
Xavier Arteaga 753edc7d7b Force NR PRACH scaling to 0.99 of the DAC dynamic range 3 years ago
Xavier Arteaga c7940f455c More clear equation to calculate number of PRACH subframes 3 years ago
Xavier Arteaga 4cea3d92bd NR PHY accepts multiple SF PRACH sequence 3 years ago
David Rupprecht 5c44d774d0 Added 5G Metrics 3 years ago
David Rupprecht 59e847ba08 Added NAS 5G args 3 years ago
David Rupprecht 5910d8847a Split NAS security ctxt 3 years ago
Francisco b8976ca463 nr,ue,rrc: avoid configuring the CSI until NR RA is complete 3 years ago
Xavier Arteaga 9d4fd1c5cc Add NR SFN from SSB assertion and fix dummy SSB scheduling 3 years ago
Xavier Arteaga 954d6f5f8d Removed sfn_4lsb from debug trace 3 years ago
Xavier Arteaga 5afe20e7da UE loads SSB config from helper method 3 years ago
Francisco 47e5e85449 refactor: clean unnecessary includes of the asn1/rrc_nr.h 3 years ago
Joaquim 82ae0e6c37
nr_phy test: add AWGN channel simulator, add High Speed Train channel (#3288)
Add channel simulator to nr_phy tests.

UL and DL channel simulators added, with AWGN and CFO using the HST scenario. The DL AWGN is adjusted according to signal power.
3 years ago
Ismael Gomez 9d35c5d018 srsue: stop rx stream after finishing sync thread to avoid deadlock at stop 3 years ago
Ismael Gomez 8fff7f6646 Fix potential overflow in rssi_read_cnt 3 years ago
Bedran Karakoc 1e1e1420b1 Return AUTS in authentication failure for case AUTH_SYNCH_FAILURE 3 years ago
Bedran Karakoc 361ff3f37a Extend identity type handling in Identity Response 3 years ago
Bedran Karakoc de750fad09 Added helper function for replayed security capabilities 3 years ago
Bedran Karakoc 193ec4abfa Trigger switch_off in NAS 3 years ago
Bedran Karakoc 441251bdd1 Remove unused parameter 3 years ago
Bedran Karakoc a4cc9b6ca0 Fix handle_authentication_request and add handler for authentication reject 3 years ago
Bedran Karakoc e8bcc0a61e Added handler for identity request and sender for identity response 3 years ago
Bedran Karakoc 1adf67c559 Extend NAS failure causes 3 years ago
Bedran Karakoc 850606f20b Added deregistration (UE terminating) 3 years ago
Xavier Arteaga d5b34696b4 Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions 3 years ago
faluco a9c65bd369 UE: Implement a thread safe wrapper class for accessing the mac_grant_ul_t member in ul_harq_process.
This fixes many race conditions detected by TSAN around this class.
3 years ago
faluco 6c4548c243 Fix several data races in LTE and NR harq classes. 3 years ago
Fabian Eckermann 991013ca2c Fix order of dl/ul common cfg. dl must be first. 3 years ago
Ismael Gomez 6bdeb2d6b6 Fix division by zero in JSON metrics 3 years ago
Andre Puschmann ea21232f61 ue,rrc_nr: fix SSB config warning
first read freqInfoDL then try to build SSB config
3 years ago
Xavier Arteaga c9d7db7314 Minor changes 3 years ago
Xavier Arteaga e3bd92d87c Fix SSB pattern in UE 3 years ago
Xavier Arteaga 8f90ee847a Refactor carrier frequency from PHY and fix OFDM phase compensation 3 years ago
Xavier Arteaga 2ab3971ef1 Fix NR PBCH encoding/decoding 3 years ago
Ismael Gomez 6b506ec357
phy_common: clear tx_hold flag before releasing the semaphore (#3342) 3 years ago
faluco 666cb73cc9 Fix data race in phy_common::set_neighbour_cells. 3 years ago
faluco 72088dadb5 Fix race conditions in intra measure class. 3 years ago
Andre Puschmann 3cd2de1ffe ue,rrc_nr: accept RRC Reconfigs with disable NZP and ZP configs 3 years ago
Francisco Paisana 78dad52cc8 rrc,nr,gnb: disable CQI configuration in gNB until gNB PHY supports it 3 years ago
Andre Puschmann bf2606f94e ue,mac_nr: fix race condition by using thread-safe RNTI class 3 years ago
Ismael Gomez c09f09b7be Move rrc_common from srsue to lib 3 years ago
Fabian Eckermann 8830c2796f Add support for NSA FDD on band n3, n5 and n7. 3 years ago
Andre Puschmann ca6ea55cb6 mac_nr_test: fix test vector after making padding BSR work 3 years ago
Andre Puschmann bed4cfb5e5 ue,mac_nr: fix generation of padding BSRs
* in Msg3 don't add explicit SBSR (rely on padding BSR to add)
* fix padding BSR generation to always use padding bytes to add it
3 years ago
Ismael Gomez 1c77998df5 Stop PDCP for data bearers before initiating HO 3 years ago
faluco fa351cd285 Rename functions that contain the unsafe word to nolock.
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
3 years ago
Bedran Karakoc 43915550cc NGAP GTP Bearer Establishment 3 years ago
David Rupprecht 3712983308 Added PDU Session est request 3 years ago
David Rupprecht c670383ae9 Added NAS 5G functions incoming msg and reg proc 3 years ago
David Rupprecht 107eba9d66 Fixed srsue namespace 3 years ago
faluco 55f5f74ff3 Fixed case where calling gw::setup_if_addr after ue attachment would spawn a new thread without closing the current one.
This would end up being a resource leak as the number of threads grow forever until the application crashes.
3 years ago
Andre Puschmann 26cc6d7886 ue: remove stack type parameter
for the moment we always use the LTE stack (also for NSA mode).
For SA we likely pick a smarter approach to pick the stack type, i.e.
using the ARFCN specified in the config.
3 years ago
Xavier Arteaga 0324806d6c Packed NR TDD config in duplex configuration and created test case for FDD 3 years ago
Fabian Eckermann dd8db1a929 Replaced inet_addr() with inet_pton. 3 years ago
Xavier Arteaga 1f6c950dae SRSUE: Fix speed and distance from TA metrics 3 years ago
Andre Puschmann fbfca42ef3 ue,mux_nr: add missing break 3 years ago