- 13 Jan, 2026 1 commit
-
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/fix_reestablishment_after_handover' into integration_2026_w03 (!3812) Fix reestablishment after handover
-
- 12 Jan, 2026 4 commits
-
-
Robert Schmidt authored
Make gpd config utility global 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.
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/ulsch_timing_test_threshold_update' into integration_2026_w03 (!3845) Update physim timing thresholds in gNB-N300-Timing-Phytest-LDPC The lower bound for the tests are too tight and any slight improvement in the timing can result in a test failure. For example, these tests were failing due to the improvements from the MR !3718
-
Robert Schmidt authored
Update threadCreate if the name is too long, the thread name is shortened to the maximum pthread name (16 characters).
-
Rakesh Mundlamuri authored
The lower bound for the tests are too tight and any slight improvement in the timing can result in a test failure. For example, these tests were failing due to the improvements from the MR 3718
-
- 08 Jan, 2026 6 commits
-
-
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
-
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.
-
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 -
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
-
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
-
Jaroslava Fiedlerova authored
Minor CI and nr_ulsim reporting adjustments
-
- 07 Jan, 2026 4 commits
-
-
Mario Joa-Ng authored
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
-
Bartosz Podrygajlo authored
- if the name is too long, the thread name is shortened to maximum pthread name (16 characters).
-
- 06 Jan, 2026 15 commits
-
-
Jaroslava Fiedlerova authored
Remove unused cmake_targets files See individual commits
-
Jaroslava Fiedlerova authored
fix(documentation): issue 1042 A merge conflict header was left by mistake in openair1/PHY/CODING/DOC/LDPCImplementation.md Closes #1042
-
Jaroslava Fiedlerova authored
Refactor key derivation logic to properly handle Next Hop (NH) chain synchronization according to 3GPP TS 33.501 specifications for both RRC Reestablishment and Master Key Update procedures. Changes in rrc_gNB.c: - Clarify key derivation in rrc_gNB_generate_RRCReestablishment by explicitly selecting base key (NH or KgNB) based on nh_ncc value - Add comment explaining vertical vs horizontal derivation logic Changes in rrc_UE.c: Refactored the NH chain synchronization and key derivation code to match TS 33.501 terminology: - nr_sync_nh_chain(): Common helper to synchronize NH parameter chain per TS 33.501 Annex A.10, supporting both Master Key Update and RRC Reestablishment procedures - nr_derive_kgnb_horizontal(): Derive KNG-RAN* from current KgNB when NCC values match (horizontal derivation per TS 33.501 A.11/A.12) - nr_derive_kgnb_vertical(): Derive KNG-RAN* from synchronized NH after NH chain sync (vertical derivation per TS 33.501 A.11/A.12) - nr_update_kgnb_from_ncc(): Unified function implementing TS 33.501 6.9.2.3.4 logic for updating KgNB based on received nextHopChainingCount - Refactor as_security_key_update(): Use new nr_update_kgnb_from_ncc() helper function for cleaner, more maintainable code - Fix nr_rrc_ue_process_rrcReestablishment(): Properly handle received nextHopChainingCount and update KgNB using unified helper function - Replaced the previous nr_rrc_nh_update() helper with these functions to improve clarity and alignment with the specification. - Add debug logging for key derivation process Key NAS deriver utils: - update derive_kgnb documentation and protect input keys with const attribute Closes #857
-
Jaroslava Fiedlerova authored
CI: Remove redundant Jenkinsfiles All the removed files can be replaced by Jenkinsfile introduced in !3738
-
Rakesh B B authored
-
Jaroslava Fiedlerova authored
move NTN UE L1 functions to a new file Moved from nr-ue not to overload that file with functions of a specific mode
-
Jaroslava Fiedlerova authored
Fix missing return statements in SIB1 TDA validation Provides fix to commit d7cc1c2c in MR !3641 (merged).
-
Jaroslava Fiedlerova authored
Correctly include cblas include directories for RHEL
-
Romain Beurdouche authored
A merge conflict header was left by mistake in `openair1/PHY/CODING/DOC/LDPCImplementation.md`
-
Laurent THOMAS authored
improve comments in usrp_lib.cpp
-
Robert Schmidt authored
These files are not used anywhere. The only remaining cmake find files are: - findarmral and findxran: used by FHI7.2 driver - findsctp: used by top-level CMakeLists.txt - findgnutls: NOT actually used but GnuTLS is a dependency of websrv, so I leave it for the moment (should be removed if the webserver is removed) Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
There is no HSS/MME in this repository, which is the majority of this file. Remove it, since it is outdated. Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
Setup routes was added by the author of FlexRAN. The UEs always set up routes automatically, and this file is therefore not needed. See-also: 287c1829 ("Remove FlexRAN") Signed-off-by:
Robert Schmidt <robert.schmidt@openairinterface.org>
-
Rakesh BB authored
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
-
Robert Schmidt authored
Signed-off-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
- 05 Jan, 2026 6 commits
-
-
Laurent THOMAS authored
RHEL uses a dedicated cblas include directory. Correctly include this for the one target PHY_UE that relies on this. Co-authored-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Jaroslava Fiedlerova authored
Couple rfsim fixes
-
Jaroslava Fiedlerova authored
L2 UE files code cleanup for static functions No functional change, just re-arranging code
-
Jaroslava Fiedlerova authored
Provides fix to commit d7cc1c2c (MR !3641). Addresses an issue with low DL throughput in 100 MHz 2×2 test case observed in CI.
-
Bartosz Podrygajlo authored
-
Bartosz Podrygajlo authored
Fix an issue caused by assuming C++ linkage of get_currentchannels_type
-
- 29 Dec, 2025 4 commits
-
-
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)
-
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.
-
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.
-
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.
-