Commit Graph
26772 Commits
Author SHA1 Message Date
Robert Schmidt 9d77057775 Remove LFDS credit: we don't use it anymore 2024-07-30 20:00:40 +02:00
Robert Schmidt bd721c3bdb Merge branch 'integration_2024_w30' into 'develop'
Integration: `2024.w30`

See merge request oai/openairinterface5g!2877

* !2830 NR feature set update
* !2868 Fix support for USRP UHD Versions => 4.5.0.0
* !2870 fix(docker): base image for target oai-gnb-aw2s shall be jammy
* !2874 Fix memory leaks in gNB PDU Session Setup Request processing
* !2866 RRC: reject PDU sessions if security is not active
* !2829 Automatic update of USRP RX gain during initial search using --agc option
* !2878 USRP: add a T trace to record the TX IQ data on antenna 0
* !2633 Handle F1 Reset at DU, and ensure state re-init on F1Setup
* !2864 Fix an assert in power control
* !2754 Introduce gold sequence cache
2024-07-30 16:24:27 +00:00
Robert Schmidt 82c0b441e5 Merge remote-tracking branch 'origin/simplify-faster-gold-sequences' into integration_2024_w30 2024-07-30 15:05:40 +02:00
Robert Schmidt b8089ba9a6 Remove empty file nr_gold.c 2024-07-30 14:58:12 +02:00
Laurent THOMAS bb766be0c3 Reformatting and cleanup 2024-07-30 14:57:17 +02:00
Laurent THOMAS 8e92df78de Use gold cache in PUCCH decoding 2024-07-30 14:57:10 +02:00
Laurent THOMAS 803b0289a6 Use gold cache in code word (un)scrambling 2024-07-30 14:57:06 +02:00
Laurent THOMAS f207ac12be Use gold cache in UCI 2024-07-30 14:57:01 +02:00
Laurent THOMAS 00cb43bac3 Use gold cache for PRS decoding 2024-07-30 14:55:35 +02:00
Robert Schmidt 7563937af8 Use gold cache for CSI-RS decoding 2024-07-30 14:53:30 +02:00
Laurent THOMAS e445ba2d1a Use gold cache PUSCH decoding
Harmonize nr_gold_pusch() and nr_gold_pdsch(), as the gold sequence
calculation for PUSCH and PDSCH is the same.
2024-07-30 14:52:06 +02:00
Laurent THOMAS 745ea1c1dd Use gold cache for PDSCH decoding 2024-07-30 14:50:57 +02:00
Laurent THOMAS 99c8dd420a Use gold cache for PDCCH decoding, scrambling, unscrambling 2024-07-30 14:49:46 +02:00
Laurent THOMAS 0316431e27 Use gold cache for PBCH encoding&decoding 2024-07-30 14:48:36 +02:00
Robert Schmidt 9d81708b49 takeout 2024-07-30 14:44:31 +02:00
Jaroslava Fiedlerova bb9af4c7dc Merge remote-tracking branch 'origin/fix-assert-in-pc' into integration_2024_w30 2024-07-30 10:18:20 +02:00
Robert Schmidt 686f1816d0 Merge remote-tracking branch 'origin/impl_f1reset_and_fix_f1setup' into integration_2024_w30 2024-07-29 12:02:50 +02:00
Xin Zhe Khooi 52bd1ad7c6 Update FEATURE_SET.md with F1 Reset (DU-only) 2024-07-29 07:44:31 +02:00
Robert Schmidt 2b44e5252d Add log statement that DU sends F1 Setup Request, as done in other functions 2024-07-29 07:44:31 +02:00
Xin Zhe Khooi 52f077c478 Initialized DU UE states on F1SetupResponse
38.473 requires to reset UE-related contexts in F1 Setup Request, so do
it.

However, avoid resetting UE states in phy_test: it has preconfigured UE
which we should not reset. Note that if NSA/phy-test used F1, we could
likely reset the UE state here, as the F1 UE context setup would come
afterwards.
2024-07-29 07:43:14 +02:00
Jaroslava Fiedlerova f30e354b77 Merge remote-tracking branch 'origin/T-usrp-tx-sample-trace' into integration_2024_w30 2024-07-26 18:07:42 +02:00
Jaroslava Fiedlerova d0daf03089 Merge remote-tracking branch 'origin/NR_UPDATE_RXGAIN' into integration_2024_w30 2024-07-26 18:07:22 +02:00
Laurent THOMAS 59086151e0 Add generic usage-based gold cache
Add gold sequence cache with dynamic size, private to each thread. It
periodically reorders by call rate. To free the gold sequences after end
of life time of a thread, use the pthread API.
2024-07-26 16:39:28 +02:00
Jaroslava Fiedlerova fbf257f6ba Merge remote-tracking branch 'origin/pdu-session-no-security' into integration_2024_w30 2024-07-26 14:13:17 +02:00
Jaroslava Fiedlerova 5692217c29 Merge remote-tracking branch 'origin/fix-gnb-memory-leaks' into integration_2024_w30 2024-07-26 14:12:55 +02:00
Cedric Roux 181ec25a23 USRP: add a T trace to record the TX IQ data on antenna 0 2024-07-26 12:54:55 +02:00
Robert Schmidt 9c1a8733c1 nr_pusch_dmrs_rx(): const input 2024-07-26 12:15:36 +02:00
Robert Schmidt fc5258962f nr_gen_ref_conj_symbols()/nr_ptrs_cpe_estimation(): const input 2024-07-26 12:14:59 +02:00
Robert Schmidt 46ca521042 nr_pdc/sch_dmrs_rx(): make non-changing input parameter const ptr 2024-07-26 12:14:29 +02:00
Robert Schmidt 9e0bcb7fe4 nr_modulation(): make non-changing input parameter const ptr 2024-07-26 12:04:35 +02:00
Bartosz Podrygajlo 48d68f7d90 Fix a bug where if BWP size is not exactly maximum BWP size for a bandwidth power control code asserts.
This assert and assumption is incorrect, according to 38.101-1 UE channel is defined only by the BWP size
and BWP size can be any value supported by the RRC parameters defining the BWP.
To determine the UE channel the smallest bandwidth supporting the BWP is selected. This is an assumption based
on references in the same document to UE channel bandwidth being equal to one of the values in set
 {5, 10, 15, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 100}.
Also:
 - calculated P_CMIN during BWP setup since the parameter doesn't depend on DCI.
 - initiialize uniqCfg structure in test_nr_ue_power_procedures main function which enables LOG prints during tests
2024-07-26 11:15:49 +02:00
Jaroslava Fiedlerova eab8dfa4c4 Merge remote-tracking branch 'origin/fix-aw2s-image-base' into integration_2024_w30 2024-07-26 10:31:41 +02:00
Jaroslava Fiedlerova bad93150ff Merge remote-tracking branch 'platini/develop' into integration_2024_w30 2024-07-26 10:29:39 +02:00
Jaroslava Fiedlerova 4acb9be7c0 Merge remote-tracking branch 'origin/NR_UE_feature_set_update' into integration_2024_w30 2024-07-26 10:21:13 +02:00
Xin Zhe Khooi 23a865db77 Implement DU F1 Reset handlers 2024-07-26 08:53:32 +02:00
Xin Zhe Khooi a92ab368f2 Decouple UEContextReleaseComplete message generation from MAC UE release
The next commit implements the release of all UEs following the F1 Reset
message. It uses nr_mac_release_ue(), which as of now, triggered a
release complete message automatically, which we don't want in the case
of F1 Reset.

This commit refactors the code to split UE release at MAC/RLC and
release complete message sending to allow to release UEs without sending
the complete. Corresponding users are updated.
2024-07-26 08:48:10 +02:00
Xin Zhe Khooi 03c2f6277d Implement encoder/decoder for F1 Reset at DU 2024-07-26 08:42:37 +02:00
Xin Zhe Khooi 2cb6fd0890 Stubs for F1 Reset 2024-07-26 08:42:34 +02:00
Guido Casati 2d6aef5183 Fix memory leak in PDU Session Setup Request decoding
* aper_decode allocates memory for for local pointer `pdusessionTransfer`, in `decodePDUSessionResourceSetup`
* this memory seems not to be freed but its members are by:
  `ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_NGAP_PDUSessionResourceSetupRequestTransfer,pdusessionTransfer);`
  which btw in its header says: "AVOID using it in the application code; Use a safer ASN_STRUCT_RESET() instead"
* the following mem leak was detected by ASAN:

```
Direct leak of 72 byte(s) in 1 object(s) allocated from:
   *0 0x7ffff74b4a57 in __interceptor_calloc /src/libsanitizer/asan/asan_malloc_linux.cpp:154
   *1 0x55555cb306df in SEQUENCE_decode_aper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_aper.c:36
   *2 0x55555ca9fa28 in aper_decode /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/aper_decoder.c:78
   *3 0x55555b99bae6 in decodePDUSessionResourceSetup /openair2/RRC/NR/rrc_gNB_NGAP.c:273
   *4 0x55555b99fec2 in trigger_bearer_setup /openair2/RRC/NR/rrc_gNB_NGAP.c:357
   *5 0x55555b9b54bf in rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ /openair2/RRC/NR/rrc_gNB_NGAP.c:830
   *6 0x55555b936871 in rrc_gnb_task /openair2/RRC/NR/rrc_gNB.c:2428
   *7 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
```

* This commit replaces ASN_STRUCT_FREE_CONTENTS_ONLY with ASN_STRUCT_FREE, which will free the memory allocated for the entire struct and its members
2024-07-25 16:46:22 +02:00
Guido Casati c78b8dda56 Fix memory leak in PDU Session Setup Request
* fill_DRB_configList_e1 is filling `DRB_configList->list` then passing to PDCP
* the contents of the struct are allocated but seem not to be freed
* the following mem leak was detected by ASAN

```
Direct leak of 32 byte(s) in 1 object(s) allocated from:
   *0 0x7ffff74b4c38 in __interceptor_realloc /src/libsanitizer/asan/asan_malloc_linux.cpp:164
   *1 0x55555caa6a3e in asn_set_add /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/asn_SET_OF.c:27
   *2 0x55555c8b8bb6 in fill_DRB_configList_e1 /openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c:42
   *3 0x55555c8be6eb in e1_bearer_context_setup /openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c:189
   *4 0x55555d329668 in cucp_cuup_bearer_context_setup_direct /openair2/RRC/NR/cucp_cuup_direct.c:31
   *5 0x55555b9a2c37 in trigger_bearer_setup /openair2/RRC/NR/rrc_gNB_NGAP.c:437
   *6 0x55555b9b54bf in rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ /openair2/RRC/NR/rrc_gNB_NGAP.c:830
   *7 0x55555b936871 in rrc_gnb_task /openair2/RRC/NR/rrc_gNB.c:2428
   *8 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
```

* using ASN_STRUCT_RESET to free the memory used by the members of the structure
  without freeing the structure pointer which is allocated on the stack
2024-07-25 16:46:17 +02:00
Raghavendra Dinavahi 95a8767383 Automatic update of USRP RX gain during initial search using --agc option
- if search fails, keeps increasing the rx gain (set by --ue-rxgain) by
  3 db until USRP max rx gain
- if initial sync is success, sets the rxgain to the value of
  (TARGET_RX_POWER (50) - pbch digital power in dB/RE)
2024-07-25 15:33:44 +02:00
Raghavendra Dinavahi 4c698bce2b rewrite ssb meas function to call from initial sync 2024-07-25 15:33:06 +02:00
Raghavendra Dinavahi 6fce492177 Correction of variable initialisation 2024-07-25 15:31:34 +02:00
Guido Casati 869b78efe2 Use NGAP protocol cause IE in the stack 2024-07-25 13:58:08 +02:00
Guido Casati d581c671e9 Add enum for NGAP protocol cause IEs 2024-07-25 13:58:08 +02:00
Raphael Defosseux 0ed8fb7205 Merge remote-tracking branch 'origin/back_to_Aerial2' into develop 2024-07-25 13:56:48 +02:00
Reem Bahsoun 2e0186f884 updating Aerial setup in TESTBench to Aerial2 and Quectel RM520N on Sphex 2024-07-25 10:32:40 +02:00
Robert Schmidt 032d4fc9ff RRC: reject PDU sessions if security is not active
OAI 5GC seems to have a bug, and occasionally might send a PDU session
setup request without having sent a UE context setup request, resulting
in no security context activated for a UE. This lead to an assertion in
rrc_gNB_process_e1_bearer_context_setup_resp().

To prevent the gNB from stopping, check if security is active before
triggering PDU sessions. If not, the gNB will reject PDU sessions.
2024-07-24 18:09:57 +02:00
Reem Bahsoun ad5eb8cd14 Increased the the DL throughput to 150Mbps 2024-07-24 13:09:06 +02:00
Reem Bahsoun 9eeaee450b change IP address to Aerial2 in gnb conf 2024-07-24 13:06:38 +02:00