- 24 Mar, 2026 2 commits
- 20 Mar, 2026 3 commits
-
-
Jaroslava Fiedlerova authored
Integration `2026.w12` * !3985 Fix XNAP to avoid recompilation and unnecessary includes * !3724 Better c style pss sss * !3972 Resolve "Demote AssertFatal `PUCCH list is full` message to a warning" * !3956 [FHI72] [xran F] Revert and simplify the code for Liteon FR2 interoperability * !3970 Fix for NTN phy-test mode * !3987 T: minor: remove target record_db from automatic building * !3993 UE: Derive Serving Network Name from SIB1 PLMN * !3997 vrtsim doc: clarify container requirements * !3935 [FHI72] Fix long PRACH format * !3998 Set rxgain to 0 in vrtsim * !3964 CI: Add FHI7.2 phytest pipeline * !4001 Remove unused ci-scripts/mysql4testresults/ dir and content * !3999 bugfix: use proper pointer * !3986 handle start symbol on non-zeroth downlink symbol for SIB1 for multiplexing pattern 3 configuration. * !3957 replace static allocation of max antennas in a dynamic structure for gnb rach * !3859 Delay compensation in SRS * !3909 Adjust ssPBCH_BlockPower in FHI7.2 configs Closes #1058 See merge request oai/openairinterface5g!3989
-
Jaroslava Fiedlerova authored
Merge remote-tracking branch 'origin/fix-ssPBCH_BlockPower-config' into integration_2026_w12 (!3909) Adjust ssPBCH_BlockPower in FHI7.2 configs ssPBCH_BlockPower is the average EPRE of the resources elements that carry secondary synchronization signals in dBm. In OAI, the SSB is the same level as all the rest, so we can compute ssPBCH_BlockPower from RU TX power and bandwidth using: ssPBCH_BlockPower = P_TX(dBm) − 10 x log10(N_RB x 12) where: - P_TX is the RU transmit power - 24 dBm for indoor RUs (configurable on the RU) - 35 dBm for outdoor RUs (configurable on the RU) - N_RB is the number of resource blocks for the configured bandwidth - 12 corresponds to the number of subcarriers per RB
-
Jaroslava Fiedlerova authored
-
- 19 Mar, 2026 5 commits
-
-
Robert Schmidt authored
Delay compensation in SRS Implementation of delay compensation in channel estimation based on SRS. Testing, for example, with sudo ./nr_ulsim -n1 -s50 -S50 -R51 -E 1 -W2 -y2 -z2 -d 10 we obtain the following logs. LOGs with develop branch: [NR_PHY] __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__ [NR_PHY] ( 0) 687 -198 | 688 -198 | -1 -3 [NR_PHY] ( 1) 0 0 | 688 -196 | -1 -3 [NR_PHY] ( 2) 687 -198 | 644 -272 | -1 -1 [NR_PHY] ( 3) 0 0 | 600 -346 | -1 -1 [NR_PHY] ( 4) 513 -498 | 556 -422 | -1 -1 [NR_PHY] ( 5) 0 0 | 512 -496 | -1 -1 [NR_PHY] ( 6) 513 -498 | 440 -542 | -1 0 [NR_PHY] ( 7) 0 0 | 370 -588 | -1 0 [NR_PHY] ( 8) 226 -682 | 298 -634 | -1 -3 [NR_PHY] ( 9) 0 0 | 228 -680 | -1 -3 [NR_PHY] ( 10) 226 -682 | 140 -686 | -1 -1 [NR_PHY] ( 11) 0 0 | 52 -690 | -1 -1 intRe and intIm are the real and imaginary part of the interpolated channel, respectively. These are the columns that matter. As we can see, for example, in subcarrier 0 we have (688, -198), then in subcarrier 1 we have (688, -196), which is almost the same, and then in subcarrier 3 we have a jump (644, -272). This MR improves channel estimation by taking delay into account. If we look at the following logs, we see that the values vary more consistently from subcarrier to subcarrier. LOGs with this MR: [NR_PHY] __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__ [NR_PHY] ( 0) 487 -139 | 490 -111 | -1 0 [NR_PHY] ( 1) 487 -139 | 483 -138 | -1 0 [NR_PHY] ( 2) 487 -139 | 465 -197 | 0 0 [NR_PHY] ( 3) 487 -139 | 436 -254 | 0 0 [NR_PHY] ( 4) 364 -353 | 402 -305 | -1 -1 [NR_PHY] ( 5) 364 -353 | 361 -352 | -1 -1 [NR_PHY] ( 6) 364 -353 | 317 -392 | -1 -1 [NR_PHY] ( 7) 364 -353 | 269 -426 | -1 -1 [NR_PHY] ( 8) 160 -481 | 214 -455 | 0 -1 [NR_PHY] ( 9) 160 -481 | 159 -478 | 0 -1 [NR_PHY] ( 10) 160 -481 | 98 -495 | -1 0 [NR_PHY] ( 11) 160 -481 | 39 -502 | -1 0 -
Jaroslava Fiedlerova authored
replace static allocation of max antennas in a dynamic structure for gnb rach NB_ANTENNAS_RX was used in 5G by mistake there was also a error in O-RU implementation, with no consequences (index not in right order)
-
Jaroslava Fiedlerova authored
handle start symbol on non-zeroth downlink symbol for SIB1 for multiplexing pattern 3 configuration. This MR adds support for handling a non-zero start symbol for SIB1 when using multiplexing pattern 3 with the per-slot CP format. Previously, the implementation assumed that the first downlink symbol used by a PDU always starts at symbol 0. However, this assumption does not hold for SIB1 under multiplexing pattern 3, where the start symbol can be non-zero. This issue does not apply to the per-symbol CP format. Testing: a. Microamp using the branch microamp_1048: UE registration ok. end-to-end ok. b. Benetel: UE registration ok. end-to-end ok.
-
rmagueta authored
The nr_srs_channel_estimation function is split into the nr_srs_ls_channel_estimation and nr_srs_channel_interpolation functions to allow the use of a common delay Define CIRCULAR_INC
-
rmagueta authored
-
- 18 Mar, 2026 17 commits
-
-
Jaroslava Fiedlerova authored
bugfix: use proper pointer Use proper pointer to trace the buffer.
-
Jaroslava Fiedlerova authored
Remove unused ci-scripts/mysql4testresults/ dir and content
-
Jaroslava Fiedlerova authored
CI: Add FHI7.2 phytest pipeline This MR consists of multiple changes related to FHI7.2 setups in CI. - remove unused fhi72 configurations in CI - introduce dpdk-init service in fhi72 deployments to setup sriov on the machine - update phytest fhi72 configurations for running on bulbul - add phytest fhi72 to RAN-SA-FHI72-CN5G pipeline
-
Robert Schmidt authored
-
francescomani authored
-
Jaroslava Fiedlerova authored
Set rxgain to 0 in vrtsim Set rxgain to 0 in vrtsim to match rfsimulator behavior This addresses the issue where RSRP is different between rfsim and vrtsim. With this RSRP values between rfsim and vrtsim should be similar.
-
Jaroslava Fiedlerova authored
[FHI72] Fix long PRACH format The problem was that xran_is_prach_slot() compared if the current slot is the scheduled one. However, this becomes irrelevant if long PRACH format used. Successfully tested end-to-end the PRACH index 7 with TDD DDDDDDDSUU and Benetel v2.0.5.
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
- Introduce dpdk-init service for SR-IOV initialization within the container - Execute script to enable low-latency RT performance (restored after tests)
-
Jaroslava Fiedlerova authored
-
Jaroslava Fiedlerova authored
When running phytest with FHI7.2 in Docker, two services are deployed: dpdk-init and oai-gnb. Previously, AnalyzeRTStatsObject selected the first deployed service for RT stats analysis. Allow to explicitly select the service used for RT stats analysis instead of relying on the first deployed service.
-
Jaroslava Fiedlerova authored
Add dpdk-init service into docker-compose.yaml file to execute setup_sriov script during startup.
-
Jaroslava Fiedlerova authored
vrtsim doc: clarify container requirements Describe how to set up vrtsim in containers, e.g., docker, and link to an example. Add a minor clarification for the connection descriptor as well.
-
Jaroslava Fiedlerova authored
UE: Derive Serving Network Name from SIB1 PLMN This MR modifies the nrUE to use the Serving Network Name derived from data communicated by the Serving Network instead of data stored in the UICC. Previously, the Serving Network Name (SNN) used during authentication was constructed from the IMSI, implicitly assuming the UE was attached to its home network. In roaming scenarios, this produced an incorrect SNN, causing authentication and key derivation failures. Changes: - Extract the MCC and MNC from the SIB1 PLMN identity communicated by the serving network. - Store these values in the UE NAS context in order to propogate them from RCC to NAS. - The NAS key derivation functions (transferRES, derive_kausf, derive_kseaf) now build the SNN based on the MCC/MNC broadcast in SIB1.
-
Bartosz Podrygajlo authored
Set rxgain to 0 in vrtsim to match rfsimulator behavior
-
Cedric Roux authored
-
Robert Schmidt authored
-
- 17 Mar, 2026 9 commits
-
-
Aaron van Diepen authored
Extract MCC and MNC from the SIB1 PLMN identity and store them in the UE NAS context to propogate them to NAS security procedures. Previously, the Serving Network Name (SNN) used during authentication was constructed from the IMSI, implicitly assuming the UE was attached to its home network. In roaming scenarios, this produced an incorrect SNN, causing authentication and key derivation failures. The NAS key derivation functions (transferRES, derive_kausf, derive_kseaf) now build the SNN using the MCC/MNC broadcast by the serving network in SIB1, ensuring that authentication uses the correct serving PLMN during roaming.
-
Jaroslava Fiedlerova authored
T: minor: remove target record_db from automatic building We don't install clickhouse by default, so simply running make inside common/utils/T/ would fail. Remove record_db to not build automatically.
-
Jaroslava Fiedlerova authored
Fix for NTN phy-test mode - Corrected the initialisation of ntn params changed flag. Before this change on UE, Phy-test was not running in NTN mode. - Removed the assert wrt slot > 64 to run FR2-NTN in phy-test - SIB2, 19 required only in SA mode like SIB1 - Introduced new method to schedule a slot in UL/DL in Phy-test mode. Dmod/ Umod option in the command line with a value. - This ensures that the slot n (in slots per frame) will be scheduled if n % value == 0 - For ex: --Dmod 1 means every slot will be scheduled - --Dmod 2 means every 2nd slot will be scheduled, like 0,2,4,6 until the slots per frame 1. - this can be used for testing FDD FR2 where slots go beyond 64 which is a limitation of -D/-U option. -
Jaroslava Fiedlerova authored
[FHI72] [xran F] Revert and simplify the code for Liteon FR2 interoperability The MR !3668 introduced a lot of unnecessary changes. This MR removes useless code in both OAI and xran F release library.
-
Teodora authored
-
Teodora authored
-
Teodora authored
[FHI72] Revert the xran modification introduced in the MR https://gitlab.eurecom.fr/oai/openairinterface5g/-/merge_requests/3668 1. Remove modifications done in the following xran functions: process_mbuf_batch(); xran_process_srs_sym(). => not even used with OAI 7.2 interface. 2. Also, remove xran_fs_get_num_dl_sym_sp() and xran_fs_get_num_ul_sym_sp() introduced in the same MR. 3. Remove LiteOnIgnoreUPSectionIdEnable parameter. Instead, use RunSlotPrbMapBySymbolEnable in a simple way for xran_process_rx_sym() function. Explanation: The xran expects UL UP packets with the same section IDs as indicated per UL CP message. However, the section IDs of received packets are 3 for mixed slot and 13 for UL slot.
-
Teodora authored
If the PRACH offset is set explicitely via config file, then its value will be used. Otherwise, eAxC_offset = max(Nrx,Ntx). Co-authored-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Teodora authored
An alternative would have been: if(xran_VERSION MATCHES "^5\.*") Co-authored-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
- 16 Mar, 2026 4 commits
-
-
Jaroslava Fiedlerova authored
Merge remote-tracking branch 'origin/1058-demote-assertfatal-pucch-list-is-full-message-to-a-warning' into integration_2026_w12 (!3972) Resolve "Demote AssertFatal PUCCH list is full message to a warning" Closes #1058
-
Jaroslava Fiedlerova authored
Better c style pss sss there is a commit to simplify code for pss and sss detection then a second commit to test a idea: detect SSS with a advantage for SSS in phase with PSS
-
Teodora Vladić authored
Only static long PRACH configuration verified, i.e. PRACH C-plane is ignored by the RU. Note: Introducing `N_ZC` and `num_prbu` parameters is needed for testing with xran F release. However, in the K release, this information is stored in xran_rx_packet_ctl struct.
-
Teodora Vladić authored
Move PRACH slot checking from oaioran.c to oran_isolate.c because xran_is_prach_slot() compared the current slot instead of the scheduled. The current and the scheduled slot are the same in case of short format, but different in case of format 0. Therefore, with this commit, in xran_is_prach_slot() we check the `prach_id->slot` and not `slot`.
-