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
Andre Puschmann
2248e63219
ue,proc_ra_nr: add mutex to protect access from PHY and Stack
...
detected with TSAN
2021-09-16 15:22:59 +02:00
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.
2021-09-16 15:22:59 +02:00
faluco
485ec2edab
Implement a new option to flush the file sink contents on every write.
2021-09-14 10:22:37 +02:00
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
2021-09-13 10:27:16 +02:00
Andre Puschmann
f382a7c7db
Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
...
This reverts commit 28668aac34
.
2021-09-09 14:29:04 +02:00
Andre Puschmann
a518b81a10
phy,nr: don't print hex content of failed PDSCH
2021-09-09 14:29:04 +02:00
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
2021-09-09 14:29:04 +02:00
Andre Puschmann
54ab64327a
ue,mac_nr: move BSR levels lookup table into lib header
...
prepare for shared use with gNB
2021-09-09 14:29:04 +02:00
Andre Puschmann
ba17b64c70
worker_pool: fix newline
2021-09-09 12:04:27 +02:00
David Rupprecht
285aae8e36
Fixing srsue namespace in rrc meas test
2021-09-08 11:28:17 +02:00
David Rupprecht
a9a23214b0
Added more 5G security kdfs
...
Added new 5G SIM functions
Added const parameters for security functions
2021-09-07 11:06:56 +02:00
David Rupprecht
a645d74eaf
USIM functions for res star
...
Added gen_res_star in security.h
Added USIM interfaces for res star
Added RES star test case
2021-09-07 11:06:56 +02:00
David Rupprecht
bce6b5cc0f
Added kdf common
...
Use kdf functions in 5G KDF
Moved EPS KDF function to new KDF structure
2021-09-07 11:06:56 +02:00
David Rupprecht
15eaef21e2
Update test f12345 function
...
Moved XOR functions to lib
Added testcase for KDF
Minor liblte_security updates
2021-09-07 11:06:56 +02:00
Andre Puschmann
272fc47bc2
ue,worker_pool: fix logging of Msg3 UL grant
2021-09-06 10:35:59 +02:00
Andre Puschmann
548c45a8fc
enb,mac_nr: add RAR packing
2021-09-03 12:09:41 +02:00
Andre Puschmann
ede81be5e4
mac_rar_pdu_nr: add packing routines
...
* add packing for RAR PDUs
* rewrite to_string() to use fmt lib
* add test case for packer
2021-09-03 12:09:41 +02:00
Andre Puschmann
b20fefbe45
mac_nr_test: flush srslog at the end of test
...
fixes stack use after free detected by ASAN
2021-08-31T17:21:44.885938 [MAC-NR ] [D] [ 0] Building new MAC PDU (9 B)
==10908==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffc481b5340 at pc 0x563c0486d489 bp 0x7ffc481b4470 sp 0x7ffc481b4460
READ of size 1 at 0x7ffc481b5340 thread T0
#0 0x563c0486d488 in srsran::mac_sch_subpdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x139488)
#1 0x563c0486db87 in srsran::mac_sch_pdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x139b87)
#2 0x563c0481c127 in srsue::mux_nr::get_pdu(unsigned int) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0xe8127)
#3 0x563c0484e62b in srsue::ul_harq_entity_nr::ul_harq_process_nr::new_grant_ul(srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, bool const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x11a62b)
#4 0x563c04850de4 in srsue::ul_harq_entity_nr::new_grant_ul(srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x11cde4)
#5 0x563c047bb004 in srsue::mac_nr::new_grant_ul(unsigned int, srsue::mac_interface_phy_nr::mac_nr_grant_ul_t const&, srsue::mac_interface_phy_nr::tb_action_ul_t*) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x87004)
#6 0x563c04760cdc in msg3_test() (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2ccdc)
#7 0x563c0475f762 in main (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2b762)
#8 0x7fae1cf400b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#9 0x563c047601bd in _start (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x2c1bd)
Address 0x7ffc481b5340 is located in stack of thread T0 at offset 320 in frame
#0 0x563c0486d78f in srsran::mac_sch_pdu_nr::to_string(fmt::v7::basic_memory_buffer<char, 500ul, std::allocator<char> >&) (/home/ubuntu/workspace/srslte_ubuntu_20.04_pull_request/srslte/build/srsue/src/stack/mac_nr/test/mac_nr_test+0x13978f)
2021-09-03 12:09:41 +02:00
Andre Puschmann
9b4f6cb8bb
mac_nr: pretty-print received/transmitted MAC PDUs in logs
2021-09-03 12:09:41 +02:00
Francisco Paisana
f4df55c245
stack lte: separate bearer manager into two classes, one for the ue and one for the enb
2021-09-03 12:06:17 +02:00
Andre Puschmann
db8b710442
bearer_manager: move to lib folder and extend for multiple users
...
prepare bearer manager to be used by eNB which requires
to support multiple RNTIs
2021-09-02 17:12:04 +02:00
faluco
5f9aceb8b6
Fix alignment issue with the stdout metrics in srsue.
2021-09-02 17:10:56 +02:00
Andre Puschmann
4ef1ac2649
gw: (re-)use class mutex when updating the DL/UL metrics
2021-08-31 17:01:50 +02:00
Andre Puschmann
aa43e3c8d6
ue,mac: adding missing mutex when updating metrics
2021-08-31 17:01:50 +02:00
Andre Puschmann
e1776f8d28
ue,phy: update the PRACH params inside the lambda that also executes the reconfig
...
setting the new PRACH params (writing the the local var) needs to protected as well
because it is called from the RRC context and the PHY worker will call configure_prach_params()
if it sees changes to it.
2021-08-31 17:01:50 +02:00
Andre Puschmann
40499e6b6d
ue_stack_lte: use std::atomic for running var
2021-08-31 17:01:50 +02:00
Andre Puschmann
79cdc28015
nas_test_common: call NAS layer from stack thread context
...
since NAS layers insn't thread safe, all calls must come from
the same thread
2021-08-31 17:00:59 +02:00
Andre Puschmann
78d60bc138
nas: remove all uses of atomic from 4G and 5G classes
...
the NAS classes aren't thread safe and thread-safety shouldn't be
pretended by using atomics. Remove them and add explicit notice.
2021-08-31 17:00:59 +02:00
Xavier Arteaga
8aa7ae7d95
Remove unused attribute
2021-08-26 09:34:43 +02:00
Xavier Arteaga
4cb633e6e6
UE dicards NR CFO measurement if SNR is negative
2021-08-26 09:34:43 +02:00
Xavier Arteaga
83b9b2d1ff
Implemented UE open loop CFO compensation for NR
2021-08-26 09:34:43 +02:00
Xavier Arteaga
9c3dd56398
Added PDCCH DMRS interleaved mapping
2021-08-26 09:34:43 +02:00
Xavier Arteaga
d61d6aa59f
Integrated CORESET0 into UE's RRC
2021-08-26 09:34:43 +02:00
Francisco Paisana
7a527cd09e
fix,lte: zero-initialize phy_meas_t in rlf test
2021-08-24 20:15:33 +02:00
Francisco Paisana
36eee0ab40
test,nr: add ra_search_space configuration to phy_cfg_nr; now the test ue searches for RA-RNTI while expecting a RAR
2021-08-24 20:15:22 +02:00
Francisco Paisana
f518861ebc
fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ
2021-08-23 16:47:54 +02:00
Ismael Gomez
7839ab09dc
Add RLF-Reportv9 to srsUE
2021-08-23 16:34:33 +02:00
David Rupprecht
3217c00cfc
Adjusting NAS base security function to 5G
2021-08-19 11:03:06 +02:00
Andre Puschmann
fc2b6a7fb5
ue,rrc: fail NR reconfiguration if mac-logicalChannelConfig is not present
2021-08-07 12:33:10 +02:00