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
Ismael Gomez
ad646f436c
Ignore PDSCH during cell selection
3 years ago
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
3 years ago
Xavier Arteaga
63bb86bce1
Added SS type conversion to string
3 years ago
faluco
c2b705c5ce
Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads.
3 years ago
faluco
6b07e886b7
Fix data race in is_first_ul_grant.
3 years ago
faluco
1e3ba607ce
Fix data race in is_pending_tx_end.
3 years ago
faluco
f96ee097b4
Fix data race in ue mac metrics.
3 years ago
faluco
7dae4a491e
Fix data race in ue_stack_lte::ul_dropped_sdus.
3 years ago
faluco
1796e12084
Fix data race in ul_harq_entity.
3 years ago
faluco
2b73beb3dd
Fix data race in ul_harq.
3 years ago
faluco
d02012b588
Fix data race in bsr_proc.
3 years ago
faluco
8d802e2aca
Fix a data race in the simulate_rf global variable.
3 years ago
David Rupprecht
e8a464228d
Cleaned string helpers
3 years ago
Andre Puschmann
36af79b9d5
ue,proc_bsr_nr: add missing mutex when redeading SBSR
...
detected with TSAN
3 years ago
Andre Puschmann
ab6210b1fc
ue,proc_sr_nr: add mutex to protect access from PHY and Stack
...
also detected by TSAN
3 years ago
Andre Puschmann
2248e63219
ue,proc_ra_nr: add mutex to protect access from PHY and Stack
...
detected with TSAN
3 years ago
Andre Puschmann
cc2d71183e
ue,phy,nr: fix race condition when setting UL grant for Msg3
...
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.
This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
3 years ago
faluco
485ec2edab
Implement a new option to flush the file sink contents on every write.
3 years ago
Andre Puschmann
07019a5bd6
nr: refactor DL/UL frequency deriviation
...
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
3 years ago
Andre Puschmann
f382a7c7db
Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
...
This reverts commit 28668aac34
.
3 years ago
Andre Puschmann
a518b81a10
phy,nr: don't print hex content of failed PDSCH
3 years ago
Andre Puschmann
5a936d9940
ue,rrc: handle DRB removal correctly
...
when RRC receives a command to remove a DRB, it also needs to delete
the bearer at RLC and PDCP
3 years ago
Andre Puschmann
54ab64327a
ue,mac_nr: move BSR levels lookup table into lib header
...
prepare for shared use with gNB
3 years ago
Andre Puschmann
ba17b64c70
worker_pool: fix newline
3 years ago
David Rupprecht
285aae8e36
Fixing srsue namespace in rrc meas test
3 years ago
David Rupprecht
a9a23214b0
Added more 5G security kdfs
...
Added new 5G SIM functions
Added const parameters for security functions
3 years ago