1. 19 Jan, 2026 1 commit
  2. 15 Jan, 2026 3 commits
    • Robert Schmidt's avatar
      Merge branch 'integration_2026_w03' into 'develop' · 102965a6
      Robert Schmidt authored
      Integration: `2026.w03`
      
      * !3818 Update threadCreate
      * !3845 Update physim timing thresholds in gNB-N300-Timing-Phytest-LDPC
      * !3849 Make gpd config utility global
      * !3812 Fix reestablishment after handover
      * !3826 Define speed of light
      * !3799 Fix for threadpool abort function
      * !3791 fix array lenght errors, k variable wrapping threshold. Make the code smaller and more efficient
      * !3718 Introduce SRS physical simulator and improvements
      * !3857 Fix bug "no AMF for UE"
      * !3858 remove function decode_cellGroupConfig
      * !3668 Support beam index for LiteON FR2 RU that needs per symbol section in CP packets
      * !3844 CI: Remove testcase ids from XML files
      * !3620 update multi-RU 7.2 documentation for DAS scenario
      * !3788 Fix handover documentation and configuration files for event configuration
      
      See merge request oai/openairinterface5g!3854
      102965a6
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix-handover-doc' into integration_2026_w03 (!3788) · 22b6298e
      Robert Schmidt authored
      Fix handover documentation and configuration files for event configuration
      22b6298e
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/update_72_doc_with_das' into integration_2026_w03 (!3620) · 75f53384
      Robert Schmidt authored
      update multi-RU 7.2 documentation for DAS scenario
      75f53384
  3. 14 Jan, 2026 13 commits
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/ci-remove-testcase-ids' into integration_2026_w03 (!3844) · e4745298
      Jaroslava Fiedlerova authored
      CI: Remove testcase ids from XML files
      
      Automatically enumerate testcases given in XML files
      e4745298
    • Jaroslava Fiedlerova's avatar
      CI: Update ShowTestID to include the source file and line · dab44db9
      Jaroslava Fiedlerova authored
      Replace xml.etree.ElementTree with lxml.etree for to enable line tracking.
      Update ShowTestID to include the source file and line number for each
      test.
      dab44db9
    • Jaroslava Fiedlerova's avatar
      CI: harmonize test case identifier · 3893d5c8
      Jaroslava Fiedlerova authored
      Remove unused testCase_id definitions and replace all occurrences of test_id
      with test_idx across the ci-scripts folder.
      3893d5c8
    • Jaroslava Fiedlerova's avatar
      CI: Remove requested and exclusion test parsing and validation · 0166bbd4
      Jaroslava Fiedlerova authored
      Requested and exclusion test lists are no longer present in the XML files,
      so related parsing, format checks, and filtering logic have been removed.
      0166bbd4
    • Jaroslava Fiedlerova's avatar
      CI: Automatically enumerate test cases, remove hardcoded IDs · 12f4167f
      Jaroslava Fiedlerova authored
      Update all XML files in ci-scripts folder, using Python script
      attached in MR !3844.
      https://gitlab.eurecom.fr/oai/openairinterface5g/-/merge_requests/3844#note_198132
      12f4167f
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/liteon_develop_F' into integration_2026_w03 (!3668) · 91e03881
      Robert Schmidt authored
      Support beam index for LiteON FR2 RU that needs per symbol section in CP packets
      
      This branch supports beam index for LiteOn FR2 RU and others. It adds
      the support of beam index for LiteOn RU that uses per-symbol CP packet
      and is a sequel of MR !3605 (merged) that supports beam index for RU
      that uses per-slot CP packets.
      
      A. To support LiteOn FR2 RU, the following are needed.
      
      a. Per symbol beamforming. Need separate section for each symbol on CP packet.
      
      b. Handle these two bugs:
      
      - section ID on UP packet is set wrongly to 13 for all sections
      - prach eAxC offset starts from 0 instead of from last antenna port
        number used by other channels.
      
      B. Implementation
      
      a. set fh_config->RunSlotPrbMapBySymbolEnable based on the setting in the configuration file
      
      - if disable, the existing per-slot scheme is run on xran.
      - if enable, RunSlotPrbMapBySymbolEnable mode is on in xran so that xran
        will generate PrbElm per symbol (aka total of 14)and perform
        per-symbol processing on the corresponding PrbElm.
      
      b. set fh_config->LiteOnIgnoreUPSectionIdEnable based on the setting in
      the configuration file if enable, handle 2 "features" of Liteon:
      
      - To handle the section_id = 13 issue on Liteon where section ID is set
        wrongly to 13 for all sections
      - To handle the prach eAxC offset issue on Liteon where it starts from 0
        instead of from the end of last antenna port number
      
      c. if fh_config->RunSlotPrbMapBySymbolEnable, OAI FHI
      
      - invoke xran_fh_rx_read_slot_BySymbol() instead of xran_fh_rx_read_slot()
      - invoke xran_fh_tx_send_slot_BySymbol() instead of xran_fh_tx_send_slot()
      
      C. Testing
      
      a. Command to test benetel RU
      
          sudo LD_LIBRARY_PATH=.:$DPDK_INST/lib/x86_64-linux-gnu/ ./nr-softmodem -O /etc/ran_development/CONFs/gnb.sa.band77.273prb.fhi72.4x4-benetel550_c0.conf --thread-pool 21,22,23,24,25,26,27,28
      
          Results:
          iperf UDP uplink
          [  5]   0.00-10.22  sec  87.3 MBytes  71.6 Mbits/sec  0.100 ms  370/63081 (0.59%)  receiver
          iperf UDP downlink
          [  5]   0.00-10.00  sec   796 MBytes   668 Mbits/sec  0.017 ms  1824/586404 (0.31%)  receiver
      
      b. Command to test LiteOn FR2 RU
      
          sudo LD_LIBRARY_PATH=.:$DPDK_INST/lib/x86_64-linux-gnu/ ./nr-softmodem -O /etc/ran_development/CONFs/gnb.sa.band78.66prb.fhi72.2x2-liteon-F-Release.conf--thread-pool 21,22,23,24,25,26,27,28
      
          Result:
          iperf UDP uplink
          [  5]   0.00-10.20  sec  89.9 MBytes  73.9 Mbits/sec  0.156 ms  212/64848 (0.33%)  receiver
          iperf UDP downlink
          [  5]   0.00-10.00  sec   361 MBytes   303 Mbits/sec  0.077 ms  277662/542891 (51%)  receiver
      
      D. Difference between LiteOn FR2 E release configuration file and that for F release is
      
          diff gnb.sa.band78.66prb.fhi72.2x2-liteon-KB.conf gnb.sa.band78.66prb.fhi72.2x2-liteon-F-Release.conf 39d38
      
          <     beam_weights = [1, 1];
          225a225
          >     beam_weights = [1];
          312c312,313
          <   mtu = 1500; # check if xran uses this properly
          ---
          >   #mtu = 1500; # check if xran uses this properly
          >   mtu = 9000; # check if xran uses this properly
          313a315,316
          >   RunSlotPrbMapBySymbol = 1;
          >   LiteOnIgnoreUPSectionId = 1;
      91e03881
    • Mario Joa-Ng's avatar
      use a single OAI FHI to handle both liteon and others. liteon uses ... · c96aa4e7
      Mario Joa-Ng authored
      use a single OAI FHI to handle both liteon and others. liteon uses  xran_fh_tx_send_slot_BySymbol() and xran_fh_rx_read_slot_BySymbol() to send CP one section per sysmbol
      c96aa4e7
    • Mario Joa-Ng's avatar
      Add F release patch fh_config parameters RunSlotPrbMapBySymbol and LiteOnIgnoreUPSectionId. · 48247ecc
      Mario Joa-Ng authored
      Add the F patch that work on both Benetel and LiteOn RU. support
      fh_config parameters RunSlotPrbMapBySymbol and LiteOnIgnoreUPSectionId.
      Change version number.
      48247ecc
    • francescomani's avatar
    • Reem Bahsoun's avatar
      Align config fields in N2 HO config files · 4e4023a4
      Reem Bahsoun authored
      4e4023a4
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/remove_decode_cellGroupConfig' into... · b8b2a36a
      Robert Schmidt authored
      Merge remote-tracking branch 'origin/remove_decode_cellGroupConfig' into integration_2026_w03 (!3858)
      
      remove function decode_cellGroupConfig
      
      it's never used
      b8b2a36a
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix-bug-release-no-amf' into integration_2026_w03 (!3857) · bd6ce9ba
      Robert Schmidt authored
      Fix bug "no AMF for UE"
      
      It might happen that the RRC does not know the AMF UE NGAP ID, yet. Even
      in that case, we should forward the release request to the NGAP module,
      which can either forward a message to the AMF, or reply back to release
      the UE. This avoids an error where the CU claims there was no AMF, when
      there actually is.
      
      One possible problematic behavior is if a UE disconnects before the gNB
      receives an NGAP Initial Context Setup. In this case, the AMF UE NGAP ID
      was not forwarded to the RRC (although it was known at NGAP), thus
      blocking the release of the UE.
      
      This is the main fix, the rest are minor fixes:
      
      - store AMF UE NGAP ID as early as possible
      - warn in MAC if UE unknown for UE context release command
      - show TEIDs with correct endianness in GTP
      - avoid NG Setup Failure+Setup log.
      bd6ce9ba
    • francescomani's avatar
  4. 13 Jan, 2026 13 commits
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/srs_phy_simulator' into integration_2026_w03 (!3718) · 93b3a5ae
      Robert Schmidt authored
      Introduce SRS physical simulator and improvements
      
      This MR consists of two parts:
      
      - Introduces SRS physical simulator to test different configurations of
        SRS
      - Improvements in the SRS channel estimation (Addressing the comments
        from old, unfinished MR !2875)
        - rewrite nr_srs_channel_estimation() to loop over rx antennas and
          antenna ports to be able to parallelize
        - Improvements in timing_advance_offset and timing_advance_offset_nsec
          computation
        - Introduce SRS multi-symbol channel estimation
          - The channel impulse response is estimated from the averaged
            channel frequency response over multiple symbols
          - The channel frequency estimates are left as they are to be able to
            estimate doppler in the future
        - Simplify SRS channel estimation to handle memory alignment in the
          case of different SRS configurations (eg: comboffset)
      
      To use multiple symbols when running gNB, the following parameters needs
      to be edited in the function get_srs_resource()
      
      - srs_res->resourceMapping.startPosition with a range from {0,1,..,5}
        corresponds to the start symbol {13, 12, .. 8} with in a slot
      - srs_res->resourceMapping.nrofSymbols indicates the number of symbols
        {n1, n2, and n4}
      
      Make sure the that start symbol + number of symbols is < 14
      
      The timing results for SRS in develop and srs_phy_simulator are as follows:
      
      Command used: sudo ./nr_ulsim -n1000 -s50 -S50 -R273 -W2 -y2 -z2 -E 1 -P
      
      develop
      
      |__ RX SRS time                            124.94 us (1000 trials)		(124.94 total [ms])
          |__ Generate SRS sequence time           0.05 us (1000 trials)		(  0.05 total [ms])
          |__ Get SRS signal time                 19.41 us (1000 trials)		( 19.41 total [ms])
          |__ SRS channel estimation time         89.11 us (1000 trials)		( 89.11 total [ms])
          |__ SRS timing advance estimation time  13.10 us (1000 trials)		( 13.10 total [ms])
          |__ SRS report TLV build time            2.80 us (1000 trials)		(  2.80 total [ms])
              |__ SRS beam report build time       0.00 us (  0 trials)
              |__ SRS IQ matrix build time         2.73 us (1000 trials)
      
      srs_phy_simulator
      
      |__ RX SRS time                            211.93 us (1000 trials)		(211.93 total [ms])
          |__ Generate SRS sequence time           0.04 us (1000 trials)		(  0.04 total [ms])
          |__ Get SRS signal time                 19.55 us (1000 trials)		( 19.55 total [ms])
          |__ SRS channel estimation time        152.05 us (1000 trials)		(152.05 total [ms])
          |__ SRS timing advance estimation time  36.67 us (1000 trials)		( 36.67 total [ms])
          |__ SRS report TLV build time            2.96 us (1000 trials)		(  2.96 total [ms])
              |__ SRS beam report build time       0.00 us (  0 trials)
              |__ SRS IQ matrix build time         2.88 us (1000 trials)
      
      Note that in srs_phy_simulator, to compute timing offset ns, an
      oversampling factor of 2 is performed. Also, for peak detection, we
      average the channel estimates for every port.
      93b3a5ae
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix-simplify-prach-nrue' into integration_2026_w03 (!3791) · 0fdc095d
      Robert Schmidt authored
      fix array lenght errors, k variable wrapping threshold. Make the code smaller and more efficient
      
      generate_nr_prach() has several errors coming from replace int16_t by
      c16_t, and also older error in k wrapping at the end of the symbol
      
      the code is also ridiculously complex, wasting memory and cpu time in
      intermediate useless buffers and headache usage of memmove()
      0fdc095d
    • Robert Schmidt's avatar
      Move NGSetupResponse message to avoid confusion · 5fa624b2
      Robert Schmidt authored
      On NGSetupFailure, before moving, we might have
      
          [NGAP]   Received NG setup failure for AMF... please check your parameters
          [NGAP]   Received NGSetupResponse from AMF
      5fa624b2
    • Robert Schmidt's avatar
      Log TEID in host order · d7a940ba
      Robert Schmidt authored
      All over the GTP module, we use ntohl()/htonl() to convert between local
      and network order. It seems to have been forgotten here.
      d7a940ba
    • Robert Schmidt's avatar
      Log NGAP Initial Context Setup · b60a37eb
      Robert Schmidt authored
      For debugging, it might notably be useful to see the AMF UE NGAP ID. Log
      it in the single Initial Context Setup message.
      b60a37eb
    • Robert Schmidt's avatar
      NR MAC: warn on release for unknown UE · 89b3eb01
      Robert Schmidt authored
      89b3eb01
    • Robert Schmidt's avatar
      Forward AMF UE NGAP ID to RRC on DL NAS Message · f1db9cb1
      Robert Schmidt authored
      In the Initial Context Setup message, the NGAP forwards the AMF UE ID,
      but not in the DL NAS Message, although 38.413 says, in $8.3.1.2 either
      
      > The NG-RAN node shall use the AMF UE NGAP ID IE and RAN UE NGAP ID IE
      > received in the INITIAL CONTEXT SETUP REQUEST message as identification
      > of the logical connection
      
      or in $8.6.2.2
      
      > The NG-RAN node shall use the AMF UE NGAP ID IE and RAN UE NGAP ID IE
      > received in the DOWNLINK NAS TRANSPORT message as identification of the
      > logical connection
      
      So forward in both cases for harmonization.
      f1db9cb1
    • Robert Schmidt's avatar
      Always send release request at RRC · c0030961
      Robert Schmidt authored
      It might happen that the RRC does not know the AMF UE NGAP ID, yet. Even
      in that case, we should forward the release request to the NGAP module,
      which can either forward a message to the AMF, or reply back to release
      the UE.
      Reported-By: default avatarJegor Zelenjak <jzelenjak@proton.me>
      c0030961
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/define_c' into integration_2026_w03 (!3826) · 815a5719
      Robert Schmidt authored
      Define speed of light
      
      Common definition for speed of light constant, instead of multiple local
      definitions
      815a5719
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/tpool-fix' into integration_2026_w03 (!3799) · d456b190
      Robert Schmidt authored
      Fix for threadpool abort function
      d456b190
    • Sakthivel Velumani's avatar
      ae8319db
    • Laurent THOMAS's avatar
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/fix_reestablishment_after_handover' into... · 3d05c084
      Robert Schmidt authored
      Merge remote-tracking branch 'origin/fix_reestablishment_after_handover' into integration_2026_w03 (!3812)
      
      Fix reestablishment after handover
      3d05c084
  5. 12 Jan, 2026 4 commits
  6. 09 Jan, 2026 6 commits