1. 13 Jan, 2026 1 commit
  2. 12 Jan, 2026 4 commits
  3. 08 Jan, 2026 6 commits
    • Jaroslava Fiedlerova's avatar
      Merge branch 'integration_2026_w02' into 'develop' · 699a5453
      Jaroslava Fiedlerova authored
      Integration: `2026.w02`
      
      * !3828 L2 UE files code cleanup for static functions
      * !3839 Couple rfsim fixes
      * !3835 Correctly include cblas include directories for RHEL
      * !3840 Fix missing return statements in SIB1 TDA validation
      * !3836 move NTN UE L1 functions to a new file
      * !3793 CI: Remove redundant Jenkinsfiles
      * !3770 RRC UE: Implement proper NH chain synchronization for RRC Reestablishment
      * !3843 fix(documentation): issue 1042
      * !3842 Remove unused cmake_targets files
      * !3832 Remove global iq_txshift and iq_rxrescale
      * !3847 Minor CI and nr_ulsim reporting adjustments
      * !3838 NR NGAP (N2HO) : Fix Time UE Stayed in Cell IE type and calculation
      * !3677 Support prach with start symbol of PRACH not at symbol 0
      
      Closes #1042 and #857
      
      See merge request oai/openairinterface5g!3841
      699a5453
    • Bartosz Podrygajlo's avatar
      Make gpd config utility global · 11ae7e79
      Bartosz Podrygajlo authored
      Make gpd a global utility macro for reading config/command line parameters.
      Add a corresponding function with full name for clarity, keep the short name
      for the macro for backward compatibility and ease of use.
      
      The main benefit of gpd/config_get_paramdef_from_name macro/function is that
      it does not require maintaining a separate parameter index list.
      11ae7e79
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/oran_prach_start_symbol' into integration_2026_w02 (!3677) · c8866651
      Robert Schmidt authored
      Support prach with start symbol of PRACH not at symbol 0
      
      The following PRACH indice have been tested.
      
          index / format (nf mod x = y) / Subframe/ start_symbol /no_of_slot / occ / duration
          152     B4     2 1                4,9          0               2      1    12
          151     B4     2 1                4,9          2               1      1    12
          157     B4     1 0                 4           0               1      1    12
          159     B4     1 0                 9           0               1      1    12
      c8866651
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'Rakesh_B_B/fix-ngap-time-in-cell' into integration_2026_w02 (!3838) · 16c5f59e
      Jaroslava Fiedlerova authored
      NR NGAP (N2HO) : Fix Time UE Stayed in Cell IE type and calculation
      
      According to 3GPP TS 38.413, the 'Time UE Stayed in Cell' IE is an
      integer ranging from 0 to 4095. This patch updates the data structure
      to reflect the correct bit width and implements the dynamic calculation
      based on the UE's residence time.
      
      - Change time_in_cell from long to uint16_t in ngap_messages_types.h.
      - Replace dummy value with real-time calculation in rrc_gNB_NGAP.c.
      - Implement a ceiling of 4095 to comply with the 12-bit protocol limit.
      
      Ref: 3GPP TS 38.413 Section 9.3.1.97
      16c5f59e
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/fix-usage-iq_rxrescale-iq_txshift' into... · 4b32dc58
      Jaroslava Fiedlerova authored
      Merge remote-tracking branch 'origin/fix-usage-iq_rxrescale-iq_txshift' into integration_2026_w02 (!3832)
      
      Remove global iq_txshift and iq_rxrescale
      
      iq_txshift and iq_rxrescale are defined but not used, this commit fixes it
      4b32dc58
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/minor-adjustments' into integration_2026_w02 (!3847) · 937a90ee
      Jaroslava Fiedlerova authored
      Minor CI and nr_ulsim reporting adjustments
      937a90ee
  4. 07 Jan, 2026 4 commits
  5. 06 Jan, 2026 15 commits
  6. 05 Jan, 2026 6 commits
  7. 29 Dec, 2025 4 commits
    • Guido Casati's avatar
      Fix RRCReestablishment key derivation to use horizontal derivation · 605b39bd
      Guido Casati authored
      Per TS 33.501 6.9.2.3.4 and Fig 6.9.2.1.1-1, when sending
      RRCReestablishment with nextHopChainingCount, the gNB is staying at
      the same NCC level (not advancing). Therefore, horizontal derivation
      from the currently active KgNB must be used, not vertical derivation
      from NH.
      
      Vertical derivation (from NH) is only used when advancing to a new
      NCC level, which happens during handover or masterKeyUpdate procedures.
      
      The previous implementation incorrectly used vertical derivation from
      NH whenever nh_ncc > 0, which caused key mismatch between gNB and UE
      during reestablishment after handover, leading to integrity check
      failures.
      
      This fix ensures both gNB and UE use horizontal derivation when
      nextHopChainingCount matches the current NCC level, aligning with the
      specification's "virtual NH at NCC=0" model where:
      - Horizontal derivation = derive KNG-RAN* from currently active KgNB
      - Vertical derivation = derive KNG-RAN* from NH (only when advancing NCC)
      605b39bd
    • Guido Casati's avatar
      Fix MAC frequency overwrite during handover causing integrity check failures · 91a08b1b
      Guido Casati authored
      During N2 handover, the UE receives reconfigurationWithSync which correctly
      sets the target cell frequency in mac->phy_config.config_req.carrier_config
      via config_common_ue() call.
      
      However, when SIB1 is decoded after reconfiguration,
      nr_rrc_mac_config_req_sib1() calls config_common_ue_sa() which unconditionally
      overwrites the frequency with the command-line parameter (downlink_frequency),
      which corresponds to the source cell frequency.
      
      This causes a critical issue during RRC re-establishment:
      - The UE uses the wrong frequency (source cell) for key derivation (kgnb*)
      - The gNB uses the correct frequency (target cell) for key derivation
      - This mismatch results in different kgnb* keys on UE and gNB
      - Integrity check fails: "Integrity of RRCReestablishment failed, going to IDLE"
      
      Root cause:
      config_common_ue_sa() is used for SIB1 processing (initial cell selection) and
      uses ServingCellConfigCommonSIB which doesn't contain absoluteFrequencyPointA.
      It must derive frequency from command-line parameters. However, after handover,
      the frequency has already been correctly set by config_common_ue() (used for
      reconfigurationWithSync) which uses ServingCellConfigCommon with absolute
      frequency information.
      
      Solution:
      Modify config_common_ue_sa() to preserve the existing frequency if it's already
      initialized (non-zero). Only set frequency from command-line parameters during
      initial cell selection when dl_frequency is 0. This ensures:
      - Initial cell selection: frequency derived from command-line parameter, just once
      - After handover: frequency preserved from reconfigurationWithSync
      - MAC maintains its own frequency state independently
      
      The fix applies to both DL and UL frequencies to maintain consistency.
      There is probably room for more refactoring to the resync flow, since
      the functionalities in config_common_ue and config_common_ue_sa are
      partially overlapping and upon reconfigurationWithSync some other
      configurations might be applied twice.
      91a08b1b
    • Guido Casati's avatar
      Add logs to inform about cell updates in MAC-PHY and RRCReestablishment failures · eebf79a0
      Guido Casati authored
      These logs are very helpful to identify cell configuration
      changes in MAC/PHY, for monitoring purposes, and to rapidly
      signal integrity failures during re-establishment.
      eebf79a0
    • Guido Casati's avatar
      RRC: update RNTI after N2 HO acknowledge · 4f8feaf5
      Guido Casati authored
      The RNTI from the target context was not updated after HO acknowledge
      this led to a failure in the first re-establishment after HO.
      
      This commit is introducing the function nr_rrc_apply_target_context
      in nr_rrc_n2_ho_acknowledge() and also updates the cell ID for
      consistency.
      4f8feaf5