1. 25 Feb, 2025 3 commits
    • Robert Schmidt's avatar
      Merge branch 'integration_2025_w08' into 'develop' · f0fce7c1
      Robert Schmidt authored
      Integration: `2025.w08`
      
      Closes #772
      
      See merge request oai/openairinterface5g!3273
      
      * !3263 Free ITTI message after receiving it at MAC from RRC
      * !3268 Upgrade SIMDe commit
      * !3269 chore(ci): change image rentention from 4weeks to 3weeks
      * !3227 fix(nrLDPC_coding): timers in DL encoding, fix(ldpctest): Confusion in sizes
      * !3270 Update of gNB-N300-Timing-Phytest threshold
      * !3272 Fix: write NSSAI info of F1AP Cell Info struct
      * !3259 UE DCI no candidates
      * !3264 Fix "Received Nack" log for Msg4/MsgB and minor improvement in RA logs
      * !3228 Add option to use global noise power for all RX channels in RFSimulator
      * !2725 Use 5G-S-TMSI as UE identity in RRCSetupRequest
      f0fce7c1
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/nr-ue-nas-5g-s-tmsi' into integration_2025_w08 (!2725) · e03c15e8
      Jaroslava Fiedlerova authored
      Use 5G-S-TMSI as UE identity in RRCSetupRequest
      
      This MR includes the following implementation:
      
      - Handle 5G-S-TMSI in RRCSetup:
        - Set the ue-Identity to ng-5G-S-TMSI-Part1 in RRCSetupRequest and
        - If RRCSetup is received in response to an RRCSetupRequest: set the
          ng-5G-S-TMSI-Value to ng-5G-S-TMSI-Part2 in do_RRCSetupComplete
      
      TS 38.331 5.3.3.3 Actions related to transmission of RRCSetupRequest message:
      
      The UE shall set the contents of RRCSetupRequest message as follows:
      1> set the ue-Identity as follows:
      2> if upper layers provide a 5G-S-TMSI:
      3> set the ue-Identity to ng-5G-S-TMSI-Part1;
      
      - Pass 5G-S-TMSI to RRC when NAS receives GUTI in Registration Accept
        - NAS extracts GUTI from Registration Accept
        - send ITTI indication from NAS to RRC when GUTI is available and store
          5G-S-TMSI in RRC instance
      - Rework of Initial UE message handling in RRCSetupComplete: simplify code and memory management
      - Fix for integrity failure after UE comes back from RRC IDLE
      - Other NAS fixes
      
      Note:
      - Initial implementation of Initial NAS Message: Service Request -> moved to !3065 (merged)
      - Rework of Registration Request added to !3176 (merged)
      
      Closes #772
      e03c15e8
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/rfsim-global-noise' into integration_2025_w08 (!3228) · b35c58da
      Jaroslava Fiedlerova authored
      Add option to use global noise power for all RX channels in RFSimulator
      
      Added new command line option to rfsimulator: noise_power_dBFS. This options
      allows the user to configure noise power in dBFS added instead of the
      per-channel value.
      
      This makes it so noise is not accumulated per channel reaching higher than
      expected values.
      
      The dBFS unit allows easy configuration. The gNB by default uses -36 dBFS
      setting. e.g. to reach 3dB SNR one should set the noise_power_dBFS value to -39.
      b35c58da
  2. 21 Feb, 2025 9 commits
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/Improve-RA-logs' into integration_2025_w08 (!3264) · 09a793ee
      Jaroslava Fiedlerova authored
      Fix "Received Nack" log for Msg4/MsgB and minor improvement in RA logs
      
      Fix "Received Nack" log for Msg4/MsgB, in 4-Step RA. When there is a Msg4 NACK,
      we have this log:
      
      [NR_MAC]   (UE 91db) Received Nack in MsgB, preparing retransmission!
      
      This MR fixes the message and now works correctly both in 4-Step RA and 2-Step RA.
      Other additional but minor improvement in RA logs.
      09a793ee
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/issue903' into integration_2025_w08 (!3259) · fcd7e761
      Jaroslava Fiedlerova authored
      UE DCI no candidates
      
      Do not schedule DCI in MAC UE if there are no candidates
      fcd7e761
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/fix-f1ap-cell-info-slice' into integration_2025_w08 (!3272) · 855f8c71
      Jaroslava Fiedlerova authored
      Fix: write NSSAI info of F1AP Cell Info struct
      
      During refactoring, the previously implemented NSSAI field of the cell
      info structure was not written to F1AP ASN.1 structures anymore;
      eq_f1ap_cell_info() also conveniently omitted the corresponding equality
      check. Add this back so the CU can correctly receive the NSSAI in case
      of F1 split operation.
      
      Fixes: f278b008 ("Add encoding/decoding library for F1AP Setup
      Request (Interface Management) ")
      855f8c71
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/update_timing_phytest' into integration_2025_w08 (!3270) · b7c5e13e
      Jaroslava Fiedlerova authored
      Update of gNB-N300-Timing-Phytest threshold
      
      Current results are in some cases well below the current thresholds. We should
      periodically adapt them to actual values so that the test is meaningful.
      b7c5e13e
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/nrLDPC_coding_improvements_3' into... · 01431a0e
      Jaroslava Fiedlerova authored
      Merge remote-tracking branch 'origin/nrLDPC_coding_improvements_3' into integration_2025_w08 (!3227)
      
      fix(nrLDPC_coding): timers in DL encoding, fix(ldpctest): Confusion in sizes
      
      Main improvements:
      
      1. fix(ldpctest): Confusion in sizes
         IMPORTANT: This fix makes that ldpctest now works with BG2 and K' != K!
         (Worth double checking with more cases than I did check with though)
         The variable block_length had an ambiguous role and was used as both K and
         Kprime. This was leading to arrays with wrong sizes and functions with wrong
         arguments. Now there is not anymore block_length but K and Kprime.
         Kprime can be set with the command line argument -l.
         There was also some problems with array allocation for segments with length
         not divisible by 8. A proper sizing with ((size_in_bits + 7) & ~7) / 8 was
         used.
         A proper masking of the last byte containing payload bits was also added to
         keep filler bits to 0 after random initialization.
      
      2. fix(nrLDPC_coding): timers in DL encoding
         While timers were available for rate matching and interleaving in the new
         interface, these timers were not merged to rate matching and interleaving
         timers in nr_dlsch_coding.
      01431a0e
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/image-retention' into integration_2025_w08 (!3269) · 76eb5c17
      Jaroslava Fiedlerova authored
      chore(ci): change image rentention from 4weeks to 3weeks
      
      The cluster image registry is getting full. At the moment we have limited
      storage so we should reduce the retention period.
      76eb5c17
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/Upgrade_SIMDe' into integration_2025_w08 (!3268) · 5817a35d
      Jaroslava Fiedlerova authored
      Upgrade SIMDe commit
      
      Upgrade SIMDe commit to the latest: c7f26b73ba8e874b95c2cec2b497826ad2188f68
      5817a35d
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/ITTI_msg_leak' into integration_2025_w08 (!3263) · 35d28312
      Jaroslava Fiedlerova authored
      Free ITTI message after receiving it at MAC from RRC
      
      Sanitize reporting the following leaks. This small commit seems to fix them.
      
      ```
      Direct leak of 9888 byte(s) in 103 object(s) allocated from:
          #0 0x7fea59b60a06 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:153
          #1 0x556dd89473e7 in itti_malloc /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:64
          #2 0x556dd8947b76 in itti_alloc_new_message /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:93
          #3 0x556dd87100a1 in nr_rrc_ue_decode_NR_BCCH_BCH_Message /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:858
          #4 0x556dd87100a1 in rrc_nrue /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:2013
          #5 0x556dd871392e in rrc_nrue_task /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1943
          #6 0x7fea59a16608 in start_thread /build/glibc-FcRMwW/glibc-2.31/nptl/pthread_create.c:477
      
      Direct leak of 96 byte(s) in 1 object(s) allocated from:
          #0 0x7fea59b60a06 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:153
          #1 0x556dd89473e7 in itti_malloc /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:64
          #2 0x556dd8947b76 in itti_alloc_new_message /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:93
          #3 0x556dd86d707c in nr_rrc_ue_process_masterCellGroup /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1094
          #4 0x556dd86faed9 in nr_rrc_process_rrcsetup /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1138
          #5 0x556dd86faed9 in nr_rrc_ue_decode_ccch /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1200
          #6 0x556dd870a518 in rrc_nrue /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:2028
          #7 0x556dd871392e in rrc_nrue_task /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1943
          #8 0x7fea59a16608 in start_thread /build/glibc-FcRMwW/glibc-2.31/nptl/pthread_create.c:477
      
      Direct leak of 88 byte(s) in 1 object(s) allocated from:
          #0 0x7fea59b60a06 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:153
          #1 0x556dd89473e7 in itti_malloc /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:64
          #2 0x556dd8947b76 in itti_alloc_new_message /home/francesco/openairinterface5g/common/utils/ocp_itti/intertask_interface.cpp:93
          #3 0x556dd86be183 in nr_rrc_process_sib1 /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:337
          #4 0x556dd870c3b3 in nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:954
          #5 0x556dd870c3b3 in rrc_nrue /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:2015
          #6 0x556dd871392e in rrc_nrue_task /home/francesco/openairinterface5g/openair2/RRC/NR_UE/rrc_UE.c:1943
          #7 0x7fea59a16608 in start_thread /build/glibc-FcRMwW/glibc-2.31/nptl/pthread_create.c:477
      ```
      35d28312
    • Robert Schmidt's avatar
      Fix: write NSSAI info of F1AP Cell Info struct · 2cc3f3bc
      Robert Schmidt authored
      During refactoring, the previously implemented NSSAI field of the cell
      info structure was not written to F1AP ASN.1 structures anymore;
      eq_f1ap_cell_info() also conveniently omitted the corresponding equality
      check. Add this back so the CU can correctly receive the NSSAI in case
      of F1 split operation.
      
      Fixes: f278b008 ("Add encoding/decoding library for F1AP Setup
        Request (Interface Management) ")
      2cc3f3bc
  3. 20 Feb, 2025 1 commit
  4. 19 Feb, 2025 8 commits
  5. 18 Feb, 2025 9 commits
  6. 17 Feb, 2025 8 commits
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/rc-report-service-fix' into integration_2025_w07 (!3252) · 1114ee3a
      Robert Schmidt authored
      [E2 agent] Multi RC REPORT service styles support
      
      Issue: unforeseen capability of having the same RAN Parameter ID across
      different REPORT service styles.
      
      Solution: keep only RAN Parameter IDs from REPORT styles that are
      supported by OAI. Implement sequence array where each element is
      combination of RIC request ID (unique per RIC SUBSCRIPTION) and Event
      Trigger Definition. This way we can properly check further conditions
      for a certain RAN Parameter ID. (e.g. if xApp is subscribed to RRC
      Connected and/or other modes, for "RRC State Changed To" RAN Parameter
      ID)
      
      Next steps: for new RAN Parameter ID, add new sequence array.
      1114ee3a
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/resource_mapping_optim' into integration_2025_w07 (!3127) · 651ef3da
      Robert Schmidt authored
      Optimizations of PDSCH Resource Mapping in nr_dlsch.c/nr_modulation.c
      
      These changes add SIMD optimizations for Neon/AVX2/AVX512 in the PDSCH
      transmit path. The timing improvements are listed here based on the
      
          nr_dlsim -e25 -R273 -b273 -s30 -x "layers" -y 4 -z 4 -P
      
      benchmark with "layers" 2,3,4 and comparing "PHY proc tx":
      
      273 PRBS, mcs25, 64QAM
      
      peafowl (gcc11,AMD EPYC 9374F)
      
          2-layer, 4 TX : 431 us (develop 565 us)
          3-layer, 4 TX : 692 us (develop 849 us)
          4-layer, 4 TX : 963 us (develop 1172 us)
      
      stupix (gcc10, Xeon Gold 6354)
      
          2-layer, 4 TX : 568 us (develop 652 us)
          3-layer, 4 TX : 901 us (develop 1030 us)
          4-layer, 4 TX : 1250 us (develop 1396 us)
      
      matix (gcc14, Ryzen 9 PRO 7945)
      
          2-layer, 4 TX : 317 us (develop 505 us)
          3-layer, 4 TX : 538 us (develop 779 us)
          4-layer, 4 TX : 767 us (develop 1233 us)
      651ef3da
    • Laurent THOMAS's avatar
    • Teodora's avatar
      Multi RC REPORT service styles support · 9e2c889d
      Teodora authored
      Issue: unforeseen capability of having the same RAN Parameter ID across different
      REPORT service styles.
      
      Solution: keep only RAN Parameter IDs from REPORT styles that are supported by OAI.
      Implement sequence array where each element is combination of RIC request ID (unique per RIC SUBSCRIPTION)
      and Event Trigger Definition. This way we can properly check further conditions for a certain RAN Parameter ID.
      (e.g. if xApp is subscribed to RRC Connected and/or other modes, for "RRC State Changed To" RAN Parameter ID)
      
      Next steps: for new RAN Parameter ID, add new sequence array.
      Co-authored-by: default avatarBischoff <tano.bischoff@hhi.fraunhofer.de>
      Co-authored-by: default avatarShrinish Donde <shrinish.donde@hhi.fraunhofer.de>
      Co-authored-by: default avatarKhanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
      9e2c889d
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fhi72-no-polling' into integration_2025_w07 (!3200) · f0d6d42a
      Robert Schmidt authored
      FHI72: remove polling, fix memory leak
      
      - FHI72 used polling to track the next slot. This is not necessary, a
        simple queue does the job and allows to save one core that was
        previously at 100%
      - Remove a workaround to avoid a memory leak (fixes #812); allows to
        also run RFsim/USRP/otehr radios when compiling for FHI72
      f0d6d42a
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix_ntn_leo' into integration_2025_w07 (!3194) · 7d574ffc
      Robert Schmidt authored
      fix NTN LEO scenarios
      
      - gNB: add support for NTN parameter ta-CommonDrift-r17
      - NR UE: fix application of NTN TA information
      - NR UE: add command line parameter ntn-initial-time-drift to compensate
        time drift during initial sync
      - NR UE: fix writeTimestamp inconsistencies
      - NR UE: add MAC state UE_RECEIVING_SIB ensuring to start RA only after
        successfully receiving SIBs
      - rfsimulator: update earth radius for LEO simulation to match UE
        position in ue.conf file
      - update conf files for NTN LEO scenario
      - update description how to run NTN scenarios in RUNMODEM.md
      - fix: ta-Common is a round-trip-time, not a one-way delay
      - NR UE: simplify calculation of next_tx_slot_and_frame by moving up
        assignment of duration_rx_to_tx
      - cellbarredNTN indicates notbarred in SIB1 if NTN access is available
      - Removed b66 NTN and enabled B254 NTN conf file in CI
      - NR UE: RRC layer now explicitly tells MAC layer when the RA procedure
        can be started
      - move NTN LEO config to band 254 and update doc/RUNMODEM.md
      
      Closes #901
      7d574ffc
    • Laurent THOMAS's avatar
      fix simde lacking refix · ce7bdf71
      Laurent THOMAS authored
      ce7bdf71
    • Jaroslava Fiedlerova's avatar
      fix in nr_dlsch.c, dmrs_case2b · 34970d38
      Jaroslava Fiedlerova authored
      34970d38
  7. 16 Feb, 2025 1 commit
  8. 14 Feb, 2025 1 commit