Commit Graph
27492 Commits
Author SHA1 Message Date
Laurent THOMAS f1f02ec0a1 use existing functions to retrieve (i)dft enum value 2024-10-29 18:47:15 +01:00
Robert Schmidt 2c07f0081e Merge branch 'ci-remove-unused-code' into 'develop' (!3058)
CI: remove unused code, clean up imports

* Remove pyshark, matplotlib imports, as they are not used
* Remove stats_monitor.py, as the CI does not use it
* Clean up many warnings shown by pyflakes regarding includes that we don't use
2024-10-22 13:12:14 +00:00
Robert Schmidt 670e1fb8b4 CI: remove unknown imports and uses of names
pyflakes warns about various errors, addressed here. For cls_cluster.py,
remove (unknown) sys.exit and replace through Exception, as sys.exit()
has the unwanted effect that the CI script would stop.  Instead, raise
an Exception that would show the problem in the HTML, and ensures that
the script runs until the end.

These are the warnings flagged by pyflakes.

    cls_cluster.py:297:4: undefined name 'sys'

    cls_containerize.py:39:1: 'subprocess' imported but unused
    cls_containerize.py:41:1: 'threading' imported but unused
    cls_containerize.py:43:1: 'multiprocessing.Process' imported but unused
    cls_containerize.py:43:1: 'multiprocessing.Lock' imported but unused
    cls_containerize.py:43:1: 'multiprocessing.SimpleQueue' imported but unused
    cls_containerize.py:49:1: 'cls_cluster as OC' imported but unused
    cls_containerize.py:50:1: redefinition of unused 'cls_cmd' from line 42

    cls_module.py:28:1: 'os' imported but unused
    cls_module.py:29:1: 'sys' imported but unused
    cls_module.py:34:1: 'subprocess' imported but unused
    cls_module.py:35:1: 'datetime.datetime' imported but unused
    cls_module.py:211:11: undefined name 'sshconnection'

    cls_oaicitest.py:37:1: 'pexpect' imported but unused
    cls_oaicitest.py:47:1: 'cls_cluster as OC' imported but unused
    cls_oaicitest.py:54:1: 'matplotlib.pyplot as plt' imported but unused
    cls_oaicitest.py:55:1: 'numpy as np' imported but unused

    cls_oai_html.py:34:1: 'sys' imported but unused
    cls_oai_html.py:41:1: 'multiprocessing.Process' imported but unused
    cls_oai_html.py:41:1: 'multiprocessing.Lock' imported but unused
    cls_oai_html.py:41:1: 'multiprocessing.SimpleQueue' imported but unused

    cls_physim.py:37:1: 'multiprocessing.SimpleQueue' imported but unused

    cls_static_code_analysis.py:39:1: 'time' imported but unused
    cls_static_code_analysis.py:40:1: 'multiprocessing.Process' imported but unused
    cls_static_code_analysis.py:40:1: 'multiprocessing.Lock' imported but unused
    cls_static_code_analysis.py:40:1: 'multiprocessing.SimpleQueue' imported but unused

    epc.py:41:1: 'multiprocessing.Process' imported but unused
    epc.py:41:1: 'multiprocessing.Lock' imported but unused
    epc.py:41:1: 'multiprocessing.SimpleQueue' imported but unused

    main.py:60:1: 'pexpect' imported but unused
    main.py:66:1: 'datetime' imported but unused
    main.py:68:1: redefinition of unused 'subprocess' from line 63
    main.py:70:1: 'multiprocessing.Process' imported but unused
    main.py:70:1: 'multiprocessing.Lock' imported but unused
    main.py:70:1: 'multiprocessing.SimpleQueue' imported but unused

    provideUniqueImageTag.py:2:1: 'os' imported but unused
2024-10-22 09:51:23 +02:00
Robert Schmidt a736bec570 Remove eNB_Trace: it is not used by the CI 2024-10-22 09:23:21 +02:00
Robert Schmidt f8b480be3e Remove stats_monitor.py: it is not used by the CI 2024-10-22 09:23:01 +02:00
Robert Schmidt 8ef52d5432 Remove pyshark import: is not used 2024-10-22 09:08:51 +02:00
Robert Schmidt ec06c78b30 Merge branch 'integration_2024_w42' into 'develop'
Integration: `2024.w42`

Closes #547, #853, #854, #858, #859, #862, #844, and #746

See merge request oai/openairinterface5g!3053

* !3047 Resolve compilation warnings on ARM
* !3052 Optimize T_ID() macro.
* !3045 CI: Reduce tested DL throughput on Aerial
* !3039 fix for Other SI reception when BWP start != 0
* !2997 websrv regression
* !3041 Update NR SA Tutorials
* !3042 Update TESTBenches.md to reflect current testbench
* !3004 Hotfix to remove an unwanted TX power reduction when using multiple TX antenna ports.
* reduce ssPBCH_BlockPower in gNB config of FHI7.2 pipeline
* !3046 A testsuite and a benchmark for RLC AM mode
* !3038 Various bugfixes for gNB stability, cleanup
* !3051 PUCCH2 DTX detection
* nr_psbchsim: fix segv by providing correct get_nrUE_params()
* !3049 Improve PUSCH and PUCCH SNR stability
* !3054 Allocate and add sD to DRB NSSAI in case sD != 0xffffff
2024-10-21 19:17:56 +00:00
Jaroslava Fiedlerova 3f51197548 Merge remote-tracking branch 'origin/fix-nssai-f1ap' into integration_2024_w42 (!3054)
Currently, sD has not been allocated, so the octet string is empty. Fix the
allocation to correctly write&read NSSAIs in UE context setup/modification
request messages.
2024-10-21 16:32:14 +02:00
Jaroslava Fiedlerova 784ae2a4df Merge remote-tracking branch 'origin/Improve_UL_SNR_stability' into integration_2024_w42 (!3049)
Reset TPC to 0 dB, after sending it to the UE, to not request new gain multiple
times before computing new value for SNR.
2024-10-21 16:23:07 +02:00
Robert Schmidt 2fe1c2f749 Correctly read NSSAI in UE Context Setup Request 2024-10-21 14:36:31 +02:00
Robert Schmidt 78fc47229b psbchsim.c: add license banner 2024-10-21 11:06:25 +02:00
Robert Schmidt 44616a6a19 nr_psbchsim: fix segv by providing correct get_nrUE_params()
When running, nr_psbchsim, we get this UBsan error:

    openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c:79:16: runtime error: member access within misaligned address 0x0ff4278c791c for type 'struct nrUE_params_t', which requires 8 byte alignment

The problem is that the corresponding definition of
get_nrUE_params() in psbchsim.c does not actually return the UE params,
but void, so we might or might not get something that resembles valid
data in nr_adjust_synch_ue.c. Fix this by including nr-uesoftmodem.h
(that provides the correct declaration) and define it correctly. Due to
type mismatches, also adapt downlink_frequency, uplink_frequency_offset,
and openair_cfg (which might result in the same type of bugs).
2024-10-21 11:04:43 +02:00
V. Tuan Ngo da84a70414 Allocate and add sD to DRB NSSAI in case sD != 0xffffff 2024-10-21 10:45:11 +02:00
Robert Schmidt dd7c3f80e8 Merge remote-tracking branch 'origin/pucch2_dtx' into integration_2024_w42 (!3051)
This adds DTX detection in PUCCH 2 receiver. This is detected by MAC
already which will drop PUCCH 2 indications that are detected as DTX.
For the moment this uses the same pucch0_dtx_threshold value indicated
in L1 section of the configuration file. The feature firstly reduces
unnecessary logging on stdout and the use of invalid CSI measurements in
the MAC scheduler.

Closes: #547
2024-10-19 12:56:21 +02:00
Robert Schmidt 4c0fa90818 Merge remote-tracking branch 'origin/bugfixes-gnb-stability' into integration_2024_w42 (!3038)
- Fixes #853, #854, #858, #859, #862
- handle repeated NGAP Initial context setup requests, thereby fixing assert:

      Assertion (!ue_p->as_security_active) failed!
      In rrc_gNB_generate_SecurityModeCommand() /home/eurecom/raymond/openairinterface5g/openair2/RRC/NR/rrc_gNB.c:2590
      logic error: security already activ

- A lot of cleanup: remove almost all use of protocol_ctxt_t in 5G RRC and use
  existing pointers instead
2024-10-19 12:48:50 +02:00
Robert Schmidt 5f5d859694 Merge remote-tracking branch 'origin/rlc-benchmark' into integration_2024_w42 (!3046)
Introduce two tests for NR RLC AM entity:

- test_nr_rlc_am_entity
- benchmark_nr_rlc_am_entity

The benchmark can be used to verify processing time improvements for NR RLC AM
entity. The benchmark creates two entities and creates an unbalanced
communication channel between them with 10% loss packet loss and 100:1 PDU sent
ratio. This allows the lists in RLC to build up and triggers RLC AM code
related to looking through the segment/pdu lists.

Example benchmark output:

    ubuntu@zeus:~/bpodrygajlo/openairinterface5g/cmake_targets/build$ ./openair2/LAYER2/nr_rlc/tests/benchmark_nr_rlc_am_entity
    [LOG] init aborted, configuration couldn't be performed
    log init done
    CMDLINE: "./openair2/LAYER2/nr_rlc/tests/benchmark_nr_rlc_am_entity"
    [CONFIG] debug flags: 0x00400000
    2024-10-16T14:58:20+02:00
    Running ./openair2/LAYER2/nr_rlc/tests/benchmark_nr_rlc_am_entity
    Run on (8 X 4700 MHz CPU s)
    CPU Caches:
      L1 Data 48 KiB (x4)
      L1 Instruction 32 KiB (x4)
      L2 Unified 1280 KiB (x4)
      L3 Unified 12288 KiB (x1)
    Load Average: 0.48, 0.27, 0.20
    ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
    --------------------------------------------------------------------
    Benchmark                          Time             CPU   Iterations
    --------------------------------------------------------------------
    BM_nr_rlc_am_entity/100        50096 ns        50097 ns        13101
    BM_nr_rlc_am_entity/256       140386 ns       140387 ns         4868
    BM_nr_rlc_am_entity/1024      536323 ns       536311 ns         1309
    BM_nr_rlc_am_entity/4096     2084464 ns      2084385 ns          338
    BM_nr_rlc_am_entity/16384    8309318 ns      8309458 ns           81
    BM_nr_rlc_am_entity/20000    9843792 ns      9843774 ns           68
2024-10-19 12:47:46 +02:00
Jaroslava Fiedlerova 08972f35cb CI: lower ssPBCH_BlockPower in gNB conf for RAN-SA-FHI72-CN5G pipeline
Tests showed that a UE connected much faster, and did not fail as often
on Msg3.
2024-10-19 12:44:33 +02:00
Jaroslava Fiedlerova d156661ce3 CI: decrease test SNR for nr_pucchsim with 8 antennas 2024-10-18 16:29:28 +02:00
Raymond Knopp 03b24c1ee6 fixed signal level computation for PUCCH2 and threshold in pucchsim.
Threshold allows detection with -9 dB SNR with 8 RX antennas
2024-10-18 15:43:08 +02:00
Jaroslava Fiedlerova 6a54905b2e Merge remote-tracking branch 'origin/remove_power_reduction_for_MIMO' into integration_2024_w42 (!3004)
This hotfix removes division by num_antenna_ports in PDSCH precoding matrix generation.
These matrices are defined for CSI reporting in this way but here we are using them for
transmission and this results in an unwanted 10*log10(num_antenna_ports) reduction in
transmit power (3dB for 2 antenna ports, 6dB for 4 antenna ports, etc.)
2024-10-18 14:54:28 +02:00
francescomani af53f35824 avoid processing PUCCH2 without polar if declared missed detection 2024-10-18 11:17:58 +02:00
luis_pereira87 de887a1d2a Improve PUSCH and PUCCH SNR stability
Reset TPC to 0 dB, after sending it to the UE, to not request new gain multiple times before computing new value for SNR
2024-10-18 09:06:28 +01:00
Robert Schmidt 1917f5486d Merge remote-tracking branch 'origin/update-TESTBenches-doc' into integration_2024_w42 (!3042) 2024-10-18 06:32:07 +02:00
Robert Schmidt d6e81682fc Merge remote-tracking branch 'origin/NR_SA_Tutorials' into integration_2024_w42 (!3041)
- Update links for the latest Ubuntu 24.04 LTS iso file
- Update docker install to the latest instructions on the official website
- Update UHD to v4.7.0.0 and update dependencies for Ubuntu 24.04
2024-10-18 06:31:47 +02:00
Robert Schmidt d07044de7f Merge remote-tracking branch 'origin/websrv-small-regression' into integration_2024_w42 (!2997) 2024-10-18 06:31:34 +02:00
Robert Schmidt eafca88d1a Merge remote-tracking branch 'origin/NR_UE_FIX_DECODE_OTHERSI' into integration_2024_w42 (!3039)
Test configuration: Tested SIB19 reception on SCS120 Khz + 50Mhz bw
config file used:
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band257.u3.32prb.usrpx410.conf
+ NTN config commands used

    sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band257.u3.32prb.usrpx410.conf --sa --rfsim -d
    sudo ./nr-uesoftmodem --band 261 -C 27533280000 -r 32 --numerology 3 --ssb 72 --sa --rfsim -d --ue-scan-carrier

The Issue is that SIB19 is not being received because of CRC error, only
SIB1 was being received.
2024-10-18 06:27:55 +02:00
Robert Schmidt 839a16f477 Merge remote-tracking branch 'origin/Aerial_reduce_throughput' into integration_2024_w42 (!3045)
Reduce tested DL throughput on Aerial pipeline from 700 to 600Mbps
2024-10-18 06:27:20 +02:00
Robert Schmidt 39af48fafc Merge remote-tracking branch 'origin/log-optimization' into integration_2024_w42 (!3052)
This changes the way T_IDs are defined. The T_ID macro was using a
integer to pointer cast in order to provide type safety. This trick
disables some compiler optimizations, as explained here:
https://clang.llvm.org/extra/clang-tidy/checks/performance/no-int-to-ptr.html.
Removing the type cast reenables the compiler optimizations.
2024-10-18 06:26:38 +02:00
Robert Schmidt 3f9d9f81d4 Merge remote-tracking branch 'origin/Address-ARM-warnings' into integration_2024_w42 (!3047)
This MR aims to address warnings raised when compiling for ARM ( tested
with cross compilation, not directly on ARM hardware ).  The addressed
warnings are as follows:

- An unused variable in file oai_dfts_neon.c
- Wrong printf format specifier related to oai_cputime_t
- Wrong parameter type in qam64_qam64 call

This MR closes issue #844

Also, correctly set the pkg-config search path for libraries for the
target system. Also closes: #746
2024-10-18 06:24:51 +02:00
Robert Schmidt c4344f26d1 Correctly pass ID to rrc_gNB_get_next_transaction_identifier() 2024-10-17 19:06:45 +02:00
Robert Schmidt 132cd64bb0 Handle empty RRC ULInformationTransfer
A UE might send a ULInformationTransfer without the actual content present
(intentionally or not). Check this and handle appropriately to avoid
a segfault when reading the empty NAS message.

Closes: #862
2024-10-17 19:06:45 +02:00
Robert Schmidt 304372d5e6 Remove unused protocol_ctxt_t 2024-10-17 19:06:45 +02:00
Robert Schmidt 63a0785430 Cleanup rrc_gNB_process_GTPV1U_CREATE_TUNNEL_RESP(): pass UE context directly 2024-10-17 19:06:45 +02:00
Robert Schmidt 759b0ec39e Cleanup rrc_CU_process_ue_modification_required(): remove protocol_ctxt_t 2024-10-17 19:06:45 +02:00
Robert Schmidt ff3a14f7f9 Cleanup rrc_gNB_modify_dedicatedRRCReconfiguration: pass UE context directly 2024-10-17 19:06:45 +02:00
Robert Schmidt 01b240ebf1 Cleanup rrc_gNB_generate_dedicatedRRCReconfiguration(): pass UE context directly 2024-10-17 19:06:45 +02:00
Robert Schmidt 452ccc3235 Cleanup rrc_gNB_generate_dedicatedRRCReconfiguration_release()
Pass RRC and UE context pointers directly.
2024-10-17 19:06:45 +02:00
Robert Schmidt dbeb1ea691 Cleanup nr_rrc_reconfiguration_req(): pass UE context directly 2024-10-17 19:06:45 +02:00
Robert Schmidt 145ab259e8 Cleanup rrc_gNB_generate_RRCRelease(): pass context directly 2024-10-17 19:06:45 +02:00
Robert Schmidt fce17f873b Remove nr_rrc_common.c: declared functions are not used 2024-10-17 19:06:45 +02:00
Robert Schmidt e497526543 Remove function declaration with non-existant definition 2024-10-17 19:06:45 +02:00
Robert Schmidt 788bc623e3 Cleanup rrc_gNB_decode_dcch(): use F1 message type, pass rrc pointer 2024-10-17 19:06:45 +02:00
Robert Schmidt da9f4cec18 Cleanup: pass UE context directly into handle_rrcReestablishmentComplete() 2024-10-17 19:06:45 +02:00
Robert Schmidt 118674ae4e Cleanup handle_ueCapabilityInformation()
Pass UE context pointer directly. In the switch, do not return to not
create memory leaks (after the switch, memory is freed). Move the
function up to make it appear before the use of the function.
2024-10-17 19:06:45 +02:00
Robert Schmidt 88d6117d99 Cleanup in securityModeFailure handling
The xer_fprintf() call is already present in rrc_gNB_decode_dcch()
above.
2024-10-17 19:06:45 +02:00
Robert Schmidt a5a746ee36 Cleanup: Pass UE context directly into rrc_gNB_generate_UECapabilityEnquiry() 2024-10-17 19:06:45 +02:00
Robert Schmidt cec54f1c89 Cleanup: Pass UE context directly into rrc_gNB_send_NGAP_UPLINK_NAS() 2024-10-17 19:06:45 +02:00
Robert Schmidt 098f45c14d Cleanup: Pass RRC/UE context directly into handle_rrcReconfigurationComplete() 2024-10-17 19:06:45 +02:00
Robert Schmidt 7836fe5090 Cleanup: Pass UE context into handle_rrcSetupComplete()
Pass UE context, without protocol_ctxt_t, for cleanup. Remove the return
from within the switch, as this would lead to memory leaks; nothing is
executed after the switch statement (except for freeing memory).
2024-10-17 19:06:45 +02:00
Robert Schmidt 0056ac7bc9 Cleanup: Pass UE context into rrc_gNB_process_MeasurementReport() 2024-10-17 19:06:45 +02:00