Fabian Eckermann
93210d9bb3
Add unit tests for new functions.
2021-12-14 18:00:49 +01:00
Fabian Eckermann
affdacd9b4
Add decoding of sib1.
2021-12-14 18:00:49 +01:00
Ismael Gomez
0ea7dbee2d
srsue,phy: initialize NR PHY only if NR carriers are defined in ue.conf
2021-12-09 21:15:16 +01:00
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.
2021-12-09 12:58:28 +01:00
Ismael Gomez
f04227c3fb
srsue,nr: add default NAS 5G ia5g and ea5g arguments
2021-12-03 12:49:38 +01:00
Ismael Gomez
825d363d44
srsue,nr: fix crnti mac CE not being added in msg3
2021-12-03 11:29:23 +01:00
Ismael Gomez
3c929ed24c
ue,sa: Sends PRACH and receives RAR, then Msg4, resolves contention resolution and pushes ConnectionSetup to RRC
2021-12-01 22:36:10 +01:00
Ismael Gomez
15025f5d57
Merge remote-tracking branch 'origin/sa_ue_rrc2' into feature_nr_sa_igm
2021-12-01 10:50:27 +01:00
Ismael Gomez
46f4be458a
ue,sa: can sync and receive pbch successfully
2021-12-01 10:18:27 +01:00
Andre Puschmann
38da5a9c94
ue,rrc,test: add RRC conn setup testcase
2021-11-30 18:13:31 +01:00
Andre Puschmann
28bd93be40
ue,sa: add minimal cell selection and setup request procedure
...
skeleton based on EUTRA procedures
2021-11-30 18:13:23 +01:00
Ismael Gomez
219bae4fd3
srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg
2021-11-30 14:45:26 +01:00
Ismael Gomez
c71ab70b83
Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes
2021-11-30 14:45:26 +01:00
Ismael Gomez
6947f87bcb
Add minimum NR SA logic in parent PHY class
2021-11-30 14:45:26 +01:00
Ismael Gomez
fb897d2998
Refactor PHY interfaces to remove difference between SA and NSA PHY
2021-11-30 14:45:26 +01:00
Ismael Gomez
58ab8086ff
Added multi gNb simulation and RF
2021-11-30 14:45:26 +01:00
Xavier Arteaga
f5446422bc
UE NR SA interface expects PBCH message instead of spare fields
2021-11-30 14:45:26 +01:00
Xavier Arteaga
fb17e3326f
More development in UE NR SA cell search
2021-11-30 14:45:26 +01:00
Xavier Arteaga
47b857db25
Initial gnb emulator
2021-11-30 14:45:26 +01:00
Xavier Arteaga
b1bcc1a8c0
Initial UE NR SA PHY classes
2021-11-30 14:45:26 +01:00
Andre Puschmann
7227f03314
ue,rrc_nr: refactor reconfig procedure to own source file
...
preparation to add next procedure
2021-11-29 12:44:32 +01:00
Andre Puschmann
ccd4334672
rrc_nr: add basic interface for NAS
2021-11-29 12:44:32 +01:00
Andre Puschmann
a15962c817
ue,rrc: move NR RRC into own folder
2021-11-29 12:44:32 +01:00
Fabian Eckermann
8bac4eceda
Add ue MAC procedures for PDCCH orders.
2021-11-18 14:56:31 +01:00
Fabian Eckermann
d0c07fc86e
Add packing of dci format 1A for pdcch orders.
2021-11-18 14:56:31 +01:00
Francisco
e8beb2ef81
nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists
2021-11-16 19:04:51 +00:00
Andre Puschmann
b687f58ff0
ue,cc_worker: print coreset info in debug mode
2021-11-16 12:57:20 +01:00
Carlo Galiotto
2eaf9add48
rrc,nr: rename boolean variable
2021-11-03 19:31:47 +01:00
Carlo Galiotto
ba50bbfb76
rlc,rrc,nr: remove rb_type from rlc_um_config
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-11-03 19:31:47 +01:00
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>
2021-11-03 19:31:47 +01:00
faluco
dfd16718fe
Fix data race in proc_sr_nr.
2021-10-29 12:45:47 +02:00
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.
2021-10-28 17:42:08 +02:00
Alejandro Leal Conejos
eb889d740d
Fixes coverity 369513
2021-10-27 19:47:45 +02:00
Bedran Karakoc
fa87715724
Increase context rx count for handled messages
2021-10-27 19:37:49 +02:00
Bedran Karakoc
b6b0dd911b
Apply NAS security for Identity Response
2021-10-27 19:37:49 +02:00
Bedran Karakoc
66ed8b9065
Add NSSAI slice differentiator, currently only 0 supported
2021-10-27 19:37:49 +02:00
Bedran Karakoc
4e60475200
Apply security to Deregistration Request (UE Originating)
2021-10-27 19:37:49 +02:00
faluco
f1385640c4
Fix data race in proc_bsr and ul_harq classes.
2021-10-27 18:15:28 +02:00
faluco
3f0d4f0293
Fix data races in proc_bsr_nr and proc_ra_nr.
2021-10-27 18:15:28 +02:00
Fabian Eckermann
1c75ed10a8
Initialize variable.
2021-10-27 17:39:51 +02:00
Ismael Gomez
d972fb368c
Some LGTM fixes ( #3564 )
...
* Fix LGTM issues
* ue: add logging to switch on function
* Fix new LGTM issues
2021-10-26 21:15:36 +02:00
Alejandro Leal Conejos
2a2518b7e4
Fixes coverity 372096
2021-10-26 21:09:44 +02:00
Ismael Gomez
bdbaf7357a
ue,nr: Protect pending_cfgs in PHY worker_pool
2021-10-26 19:04:02 +02:00
faluco
b058945142
Fix data race in sync::current_earfcn.
2021-10-26 19:04:02 +02:00
faluco
92b81b200f
Fix data race in ul_harq_process::current_irv.
2021-10-26 19:04:02 +02:00
faluco
dc31fb05a3
Fix ODR issue detected by ASAN in arch for the srsran_verbose global variable.
2021-10-26 16:56:11 +02:00
Pedro Alvarez
a40a2dc191
Disable integrity/encription at PDCP-NR, as it will break when packets arrive out-of-order.
2021-10-26 14:59:40 +02:00
faluco
91677a9dcb
Fix data race in sync::state, the stop() did not acquire the required lock.
2021-10-25 20:30:57 +02:00
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>
2021-10-25 10:51:02 +02:00
faluco
28887a4384
Relax memory ordering for atomic load for the ul_harq::current_tx_nb member.
2021-10-23 21:26:00 +02:00
faluco
3ecc8bb4c6
Fix data race in gw::deactivate_eps_bearer.
2021-10-23 21:26:00 +02:00
faluco
5f93ff6ed0
Batch of data race fixes in the following classes: RLC AM, Intra measure, UL HARQ, PHY common.
2021-10-23 21:26:00 +02:00
Andre Puschmann
dd5eda04e3
ue,rrc_nr: clear DRB to LCID lookup during RRC release
2021-10-23 21:09:26 +02:00
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.
2021-10-22 17:27:32 +01:00
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.
2021-10-22 12:41:46 +02:00
Ismael Gomez
c096270fc7
ue,nr: ignore NDI if received on T-CRNTI or RAR
2021-10-21 22:17:30 +02:00
Ismael Gomez
0de984d12f
srsue: protect access to phy common shared measurement
2021-10-21 21:31:21 +02:00
Pedro Alvarez
7155de91ca
Added command to forcefully flush the buffers on srsenb and srsue.
2021-10-21 14:50:44 +01:00
faluco
d7e8d6bf65
Fix data race in mux_nr::add_bsr_ce.
2021-10-20 18:08:41 +02:00
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>
2021-10-20 17:47:00 +02:00
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.
2021-10-20 17:47:00 +02:00
Ismael Gomez
d32bfa3756
remove warning when UE is already in camping
2021-10-19 15:16:52 +02:00
Andre Puschmann
97d43eb044
mac_nr_test: add PDU packing test for two SDUs from different LCs
2021-10-19 11:51:39 +02:00
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.
2021-10-19 11:51:39 +02:00
Andre Puschmann
cc87af2986
ue,rrc: simplify code
2021-10-16 21:50:07 +02:00
Francisco
08c96b0e35
nr,ue,mac: added TODO comment warning about missing functionality in srsue::mac_nr::reset method
2021-10-15 18:28:09 +01:00
Francisco
81174bda64
nr,ue,rrc: release NR logical channels during RRC release
2021-10-15 18:28:09 +01:00
Xavier Arteaga
e93503bae3
Minor changes
2021-10-15 18:19:04 +02:00
Xavier Arteaga
3c40cd2840
Improved NR PHY logging info
2021-10-15 18:19:04 +02:00
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.
2021-10-15 15:05:37 +02:00
faluco
9075251627
Move the cleanup code from the signal handlers down to the new emergency handlers for the ue, epc and enb.
2021-10-15 15:05:37 +02:00
Bedran Karakoc
0507d9df2b
nas,nr: Fix ciphering and sequence numbers in NAS
2021-10-15 14:47:22 +02:00
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.
2021-10-15 10:58:31 +02:00
faluco
5f648d195c
Implement JSON reporting in the scell search test.
2021-10-15 10:44:37 +02:00
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.
2021-10-14 21:21:58 +02:00
Andre Puschmann
1068a84bd0
sync: fix typo
2021-10-14 21:21:58 +02:00
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.
2021-10-14 11:16:37 +02:00
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.
2021-10-14 11:16:37 +02:00
Xavier Arteaga
1bffebe0bf
Removed cached PRACH signals
2021-10-14 09:46:15 +02:00
Alejandro Leal Conejos
1a64c6adad
Enum fixes so clang 12 can build the repo
2021-10-14 08:48:04 +02:00
Xavier Arteaga
753edc7d7b
Force NR PRACH scaling to 0.99 of the DAC dynamic range
2021-10-13 11:00:03 +02:00
Xavier Arteaga
c7940f455c
More clear equation to calculate number of PRACH subframes
2021-10-13 11:00:03 +02:00
Xavier Arteaga
4cea3d92bd
NR PHY accepts multiple SF PRACH sequence
2021-10-13 11:00:03 +02:00
David Rupprecht
5c44d774d0
Added 5G Metrics
2021-10-12 10:48:10 +02:00
David Rupprecht
59e847ba08
Added NAS 5G args
2021-10-12 10:48:10 +02:00
David Rupprecht
5910d8847a
Split NAS security ctxt
2021-10-12 10:48:10 +02:00
Francisco
b8976ca463
nr,ue,rrc: avoid configuring the CSI until NR RA is complete
2021-10-08 12:15:55 +01:00
Xavier Arteaga
9d4fd1c5cc
Add NR SFN from SSB assertion and fix dummy SSB scheduling
2021-10-08 09:49:07 +02:00
Xavier Arteaga
954d6f5f8d
Removed sfn_4lsb from debug trace
2021-10-08 09:49:07 +02:00
Xavier Arteaga
5afe20e7da
UE loads SSB config from helper method
2021-10-08 09:49:07 +02:00
Francisco
47e5e85449
refactor: clean unnecessary includes of the asn1/rrc_nr.h
2021-10-07 23:08:07 +01:00
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.
2021-10-07 16:14:46 +02:00
Ismael Gomez
9d35c5d018
srsue: stop rx stream after finishing sync thread to avoid deadlock at stop
2021-10-07 15:28:10 +02:00
Ismael Gomez
8fff7f6646
Fix potential overflow in rssi_read_cnt
2021-10-07 11:38:45 +02:00
Bedran Karakoc
1e1e1420b1
Return AUTS in authentication failure for case AUTH_SYNCH_FAILURE
2021-10-06 20:01:00 +02:00
Bedran Karakoc
361ff3f37a
Extend identity type handling in Identity Response
2021-10-06 20:01:00 +02:00
Bedran Karakoc
de750fad09
Added helper function for replayed security capabilities
2021-10-06 20:01:00 +02:00
Bedran Karakoc
193ec4abfa
Trigger switch_off in NAS
2021-10-06 20:01:00 +02:00
Bedran Karakoc
441251bdd1
Remove unused parameter
2021-10-06 20:01:00 +02:00
Bedran Karakoc
a4cc9b6ca0
Fix handle_authentication_request and add handler for authentication reject
2021-10-06 20:01:00 +02:00
Bedran Karakoc
e8bcc0a61e
Added handler for identity request and sender for identity response
2021-10-06 20:01:00 +02:00
Bedran Karakoc
1adf67c559
Extend NAS failure causes
2021-10-06 20:01:00 +02:00
Bedran Karakoc
850606f20b
Added deregistration (UE terminating)
2021-10-06 20:01:00 +02:00
Xavier Arteaga
d5b34696b4
Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions
2021-10-06 16:33:51 +02:00
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.
2021-10-06 14:47:23 +02:00
faluco
6c4548c243
Fix several data races in LTE and NR harq classes.
2021-10-06 14:47:23 +02:00
Fabian Eckermann
991013ca2c
Fix order of dl/ul common cfg. dl must be first.
2021-10-06 14:44:55 +02:00
Ismael Gomez
6bdeb2d6b6
Fix division by zero in JSON metrics
2021-10-05 17:19:07 +02:00
Andre Puschmann
ea21232f61
ue,rrc_nr: fix SSB config warning
...
first read freqInfoDL then try to build SSB config
2021-10-04 12:12:32 +02:00
Xavier Arteaga
c9d7db7314
Minor changes
2021-10-04 10:28:34 +02:00
Xavier Arteaga
e3bd92d87c
Fix SSB pattern in UE
2021-10-04 10:28:34 +02:00
Xavier Arteaga
8f90ee847a
Refactor carrier frequency from PHY and fix OFDM phase compensation
2021-10-04 10:28:34 +02:00
Xavier Arteaga
2ab3971ef1
Fix NR PBCH encoding/decoding
2021-10-04 10:28:34 +02:00
Ismael Gomez
6b506ec357
phy_common: clear tx_hold flag before releasing the semaphore ( #3342 )
2021-10-03 20:05:38 +02:00
faluco
666cb73cc9
Fix data race in phy_common::set_neighbour_cells.
2021-10-02 17:40:34 +02:00
faluco
72088dadb5
Fix race conditions in intra measure class.
2021-10-02 17:40:34 +02:00
Andre Puschmann
3cd2de1ffe
ue,rrc_nr: accept RRC Reconfigs with disable NZP and ZP configs
2021-10-01 12:21:54 +02:00
Francisco Paisana
78dad52cc8
rrc,nr,gnb: disable CQI configuration in gNB until gNB PHY supports it
2021-09-30 11:34:22 +02:00
Andre Puschmann
bf2606f94e
ue,mac_nr: fix race condition by using thread-safe RNTI class
2021-09-30 10:36:29 +02:00
Ismael Gomez
c09f09b7be
Move rrc_common from srsue to lib
2021-09-29 21:39:56 +02:00
Fabian Eckermann
8830c2796f
Add support for NSA FDD on band n3, n5 and n7.
2021-09-29 16:03:44 +02:00
Andre Puschmann
ca6ea55cb6
mac_nr_test: fix test vector after making padding BSR work
2021-09-27 21:15:30 +02:00
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
2021-09-27 21:15:30 +02:00
Ismael Gomez
1c77998df5
Stop PDCP for data bearers before initiating HO
2021-09-27 13:54:51 +02:00
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.
2021-09-27 13:26:21 +02:00
Bedran Karakoc
43915550cc
NGAP GTP Bearer Establishment
2021-09-22 15:15:47 +02:00
David Rupprecht
3712983308
Added PDU Session est request
2021-09-22 15:15:47 +02:00
David Rupprecht
c670383ae9
Added NAS 5G functions incoming msg and reg proc
2021-09-22 15:15:47 +02:00
David Rupprecht
107eba9d66
Fixed srsue namespace
2021-09-22 15:15:47 +02:00
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.
2021-09-22 13:26:59 +02:00
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.
2021-09-22 10:56:56 +02:00
Xavier Arteaga
0324806d6c
Packed NR TDD config in duplex configuration and created test case for FDD
2021-09-21 18:11:16 +02:00
Fabian Eckermann
dd8db1a929
Replaced inet_addr() with inet_pton.
2021-09-21 11:59:40 +02:00
Xavier Arteaga
1f6c950dae
SRSUE: Fix speed and distance from TA metrics
2021-09-21 11:30:56 +02:00
Andre Puschmann
fbfca42ef3
ue,mux_nr: add missing break
2021-09-21 11:18:04 +02:00
Ismael Gomez
ad646f436c
Ignore PDSCH during cell selection
2021-09-21 11:09:34 +02:00
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
2021-09-20 20:48:08 +02:00
Xavier Arteaga
63bb86bce1
Added SS type conversion to string
2021-09-20 20:48:08 +02:00
faluco
c2b705c5ce
Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads.
2021-09-17 11:34:28 +02:00
faluco
6b07e886b7
Fix data race in is_first_ul_grant.
2021-09-17 11:34:28 +02:00
faluco
1e3ba607ce
Fix data race in is_pending_tx_end.
2021-09-17 11:34:28 +02:00
faluco
f96ee097b4
Fix data race in ue mac metrics.
2021-09-17 11:34:28 +02:00
faluco
7dae4a491e
Fix data race in ue_stack_lte::ul_dropped_sdus.
2021-09-17 11:34:28 +02:00
faluco
1796e12084
Fix data race in ul_harq_entity.
2021-09-17 11:34:28 +02:00
faluco
2b73beb3dd
Fix data race in ul_harq.
2021-09-17 11:34:28 +02:00
faluco
d02012b588
Fix data race in bsr_proc.
2021-09-17 11:34:28 +02:00
faluco
8d802e2aca
Fix a data race in the simulate_rf global variable.
2021-09-17 11:34:28 +02:00
David Rupprecht
e8a464228d
Cleaned string helpers
2021-09-16 15:24:32 +02:00
Andre Puschmann
36af79b9d5
ue,proc_bsr_nr: add missing mutex when redeading SBSR
...
detected with TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
ab6210b1fc
ue,proc_sr_nr: add mutex to protect access from PHY and Stack
...
also detected by TSAN
2021-09-16 15:22:59 +02:00