- 05 Nov, 2025 7 commits
-
-
Jaroslava Fiedlerova authored
Use the bash script from a parent commit to verify PRS functionality.
-
Rakesh Mundlamuri authored
This commit inputs several distances at once and obtain the summary of successful and failed tests. We look for the number of successful tests that are geater than 0. We do that here since we sometimes dont receive a response for a telnet command from the rfsim although the command is applied. This is related to the queing telnet commands in the rfsim. The script for the distances 50, 100 and 150 are called as follows, ./set-and-verify-distance-prs.sh 50 100 150 The summary can be viewed as follows, ==================== SUMMARY ==================== Total tests run : 3 Successful tests: 3 Failed tests : 0 =================================================
-
Jaroslava Fiedlerova authored
-
rakesh mundlamuri authored
Set RFsim (DL) distance and use PRS to estimate the new distance. This is verified by comparing the distance set in RFsim with the distance reported through ToA estimation at the UE. Note that since RFsim telnet output is asynchronous (it uses a queue internally), we use grep --max-count 1 to wait for the matching line, together with ncat --idle 0.3 to keep ncat open for some time. The --max-count option will terminate grep after the first occurrence. For this to work reliably, we need to use grep <(echo | ncat) as opposod to simply echo | ncat | grep, as the latter does not seem to reliably make grep exit after the occurrence. Co-authored-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Robert Schmidt authored
-
Robert Schmidt authored
Protect with mutex to allow reading from another thread.
-
Robert Schmidt authored
In a future commit, we will look up the maximum ToA over the last transmissions. Introduce a buffer in which we write the last 16 measurements.
-
- 03 Nov, 2025 3 commits
-
-
Robert Schmidt authored
-
rakesh mundlamuri authored
-
rakesh mundlamuri authored
Previously, we were using int16_t for the variable ch_tmp which was later harmonized to use c16_t while leaving <<1. This introduced the bug while accessing the address of the element at first_half of the ch_tmp variable.
-
- 31 Oct, 2025 7 commits
-
-
Jaroslava Fiedlerova authored
Integration `2025.w44` * !3721 improvements in formatting and LOGs in DMRS common functions at MAC * !3725 Handle GTP receiver errors, fix memory leaks, add CU-UP test * !3726 fix for CSI payload sizes in PUCCH structure at UE * CI: Adjust attenutation for HO setup * !3728 Fix for scenario with no CSI report configured for CSI-RS * !3731 CI: ensure clean iperf3 server startup * !3592 Refactor PRACH handling at the gNB * !3682 Refactor DLSCH scheduler * !3733 Clarify whitespace * !3706 Change registry name env var content Closes #1015 and #1014 See merge request oai/openairinterface5g!3727
-
Jaroslava Fiedlerova authored
Change registry name env var content Currently setting REGISTRY="" in a .env file results in docker failing to find /image-name:tag. This corrects that, so it looks for local images named image-name:tag.
-
Jaroslava Fiedlerova authored
Following the change to use: image: ${REGISTRY-oaisoftwarealliance/}${GNB_IMG:-oai-gnb}:${TAG:-develop} the REGISTRY variable must now include the trailing slash. -
Nick Hedberg authored
-
Robert Schmidt authored
Clarify whitespace
-
Nick Hedberg authored
-
Nick Hedberg authored
-
- 30 Oct, 2025 23 commits
-
-
Robert Schmidt authored
Refactor DLSCH scheduler Refactor the DLSCH post processor similarly to what has been done in !3521 with the goal of saving an additional iteration through all UEs, hopefully making the DLSCH scheduler faster. It further includes changes to make working with and debugging multi-UE operation easier: - add some measurements in L1 (for total TX/RX time) - a new option MACRLCs.[0].stats_max_ue to limit the number of UEs in the periodic output (default: 8, 0=disable) - avoid stack overflow in the MAC - fix the writing of stats to nrMAC_stats.log and nrL1_stats.log when the written output reduces by truncating the files - avoid to schedule retransmission with 0 RBs.
-
Robert Schmidt authored
-
Robert Schmidt authored
This slightly speeds up the scheduler (it e.g., does not need to check for UEs that have retransmissions), and harmonizes with pf_ul(), which evaluates (UL) BSR at a similar place within the scheduler.
-
Robert Schmidt authored
-
Robert Schmidt authored
Check and return, if necessary, that we have enough resources to make retransmissions. Without, we can asserts in L1, such as Assertion (NPRB>0 && (NPRB + RBstart <= BWPsize)) failed! In PRBalloc_to_locationandbandwidth0() openairinterface5g/common/utils/nr/nr_common.c:506 Illegal NPRB/RBstart Configuration (0,51) for BWPsize 51 which indicates that the scheduler requested a transmission with 0 PRBs, which does not make sense. -
Robert Schmidt authored
Merge remote-tracking branch 'origin/rework-gnb-prach-mem-management' into integration_2025_w44 (!3592) Refactor PRACH handling at the gNB - Remove race conditions by correctly setting mutexes - Fix a bug when having multiple RACH occasions - Reduce memory footprint by removing global memory, which should also fix potential memory data races in FHI 7.2 - Additional fixes, see commit messages
-
Laurent THOMAS authored
-
Laurent THOMAS authored
a bit difficult to understand: sl_ahead=6 => we systematically miss the rach detection in the scheduler because the scheduler runs more than 6 slots ahead the rx slot processing (here > 11 slots because 6 (DL and UL slots) + 4 (RU_RX_SLOT_DEPTH, so UL only)) so, reducing sl_ahead works better than large sl_ahead because the idea behind is: the scheduler of slot+sl_ahead will never create work to do in a UL slot before slot+sl_ahead+X (as minimum k2 is X, in the 24PRB CI test: 6)
-
Laurent THOMAS authored
-
Laurent THOMAS authored
-
Laurent THOMAS authored
saves about 600MB of memory allocation Move the definition of PRACH items and the PRACH list to the defs_nr_commons.h file. Do not re-write the entire structure in nr_schedule_rx_prach(), as it is quite large now.
-
Robert Schmidt authored
-
Robert Schmidt authored
Call the post-processor when the allocation is "fixed" (i.e., nothing changes anymore), instead of having a final loop across all UEs that might potentially be costly. In order to calculate the PF metric, note that the statistics "reset" is moved into pf_dl() instead of the post-processing loop, as it has to be done on each slot. See also: dd980302 ("Refactor to call post-processor in place")
-
Robert Schmidt authored
Similarly to parent commit(s), assign sched_pdsch in a single place instead of relying on sched_ctrl. In a follow-up commit, the post-processor will be called in a single place.
-
Robert Schmidt authored
Similarly to parent commit(s), refactor the use of NR_sched_pdsch. Instead of using nr_mac->sched_ctrlCommon, put the NR_sched_pdsch_t on the stack. This also refactors update_rb_mcs_tbs() to update the existing NR_sched_pdsch instead of updating individual fields. This also reduces the extend to which sched_ctrlCommon is used.
-
Robert Schmidt authored
As in parent commit(s).
-
Robert Schmidt authored
As in parent commit.
-
Robert Schmidt authored
Assign NR_sched_pdsch to sched_ctrl->sched_pdsch in one place, where the post-processing functionality will be called in a follow-up commit. This should result in no functional change.
-
Robert Schmidt authored
It seems to be assumed that curInfo actually has the currently active number of layers/PMI. However, I am not sure this would always be true (e.g., UE might not have been scheduled for some slots, but number of layers decreased as reported by CSI). Instead, recalculate the info from scratch when necessary.
-
Robert Schmidt authored
We don't need NR_sched_pdsch here. Remove the use of it.
-
Robert Schmidt authored
PF uses MCS and average throughput to decide which UE to schedule. Thus, the first loop decides on MCS, whereas the second does the "main UE allocation" after sorting by the PF metric. A follow-up commit will remove sched_pusch from NR_UE_sched_ctrl_t. Thus, we cannot rely on sched_ctrl to store the MCS in the first loop, and look it up from there in the second. Instead, store it as part of the UE iterator data, and take it from there. See also: f3068caa ("Store selected MCS in UE iterator", for UL)
-
Robert Schmidt authored
-
Robert Schmidt authored
Introduce a struct with information on FAPI structures to save resource and data allocation into. It's in nr_mac_gNB.h because the next commits will reuse this for all preprocessors.
-