- 26 Mar, 2025 1 commit
-
-
Robert Schmidt authored
Integration: `2025.w12` Closes #920 and #915 See merge request oai/openairinterface5g!3325 * !3301 Remove unused NR UE PHY unit tests * !3319 Disable EPS NAS security algorithms in 5GMM UE capabilities * !3315 SCTP: avoid assert on partial SCTP message * !3323 Fix long RACH regression * !3311 Harmonize and update Frequency Range computation to the current values specified by the standard * !3320 Miscelaneous improvements in PHY simulators * !3286 Add support for ARM build pipeline * !3308 remove ul_ch_estimates_time to save memory * !3310 remove globale llr_layers to save memory, improve CPU, simplify code * !3274 Add initial support for RedCap * !3328 Fix ULSCH ID type to handle large max_nb_pusch values (ULSCH procedures) * !3329 NR build improvements * !3285 Update FHI 7.2 documentation, minor code cleanup
-
- 25 Mar, 2025 8 commits
-
-
Robert Schmidt authored
Update FHI 7.2 documentation, minor code cleanup - remove some unused functions - make one function static - add callback function documentation - provide some developer function
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
NR build improvements This MR is an attempt to improve compilation of NR softmodems by removing some of NR-LTE cross-compilation (at the cost of a small dummy file for nr-softmodem) and one small gNB-NRUE cross-compilation.
-
Robert Schmidt authored
Fix ULSCH ID type to handle large max_nb_pusch values (ULSCH procedures) The ULSCH_id variable is currently defined as uint8_t, which limits its range to 0-255. However, gNB->max_nb_pusch can exceed this range depending on the configuration (buffer_ul_slots and MAX_MOBILES_PER_GNB). This can lead to incorrect behavior or undefined results when max_nb_pusch is larger than 255. This commit changes the type of ULSCH_id from uint8_t to int to accommodate larger values of max_nb_pusch. The issue was observed when running the OAI gNB with MAX_MOBILES_PER_GNB set to 64 UEs. The root cause was traced back to the changes to UL processing introduced in !2952.
-
francescomani authored
-
francescomani authored
-
- 24 Mar, 2025 24 commits
-
-
Robert Schmidt authored
Change to bool for clarity. The log message would sometimes only show up at the end, which is misleading; use the logging module, which harmonizes log statements and should make this appear immediately.
-
Robert Schmidt authored
We still do not handle RUs with MTUs of 1500 properly in F release; therefore, for the close future, we cannot remove support for E release. Also, it "promises" this for January, which is in the past already. Update to keep the warning logical.
-
Robert Schmidt authored
-
francescomani authored
-
francescomani authored
-
Robert Schmidt authored
Add initial support for RedCap - RedCap SIB1-v17-IEs parameters implemented in SIB1 - Create an configuration file for RedCap devices
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/remove-globale-ul_ch_estimates' into integration_2025_w12 (!3310) remove globale llr_layers to save memory, improve CPU, simplify code
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/remove-global-ul_ch_estimates_time' into integration_2025_w12 (!3308) remove ul_ch_estimates_time to save memory remove ul_ch_estimates_time that saves 50MB memory to access in RAM, and make better quality scope data passing (no race)
-
Robert Schmidt authored
Add support for ARM build pipeline Modify the existing python code to be able to build images where the image tag can be prepended with a prefix, here arm_. This is preparatory work to create the ARM build image pipeline, and reuse the existing internal registry on porcepix to have x86 and ARM images coexist. Fix various bugs in the build system to allow to build on a system with as many cores as gracehopper. Also, fix two programs (usim, nvram) to work correctly under ARM.
-
Robert Schmidt authored
Merge remote-tracking branch 'origin/add_sigint_handler_nr_physimulators' into integration_2025_w12 (!3320) Miscelaneous improvements in PHY simulators 1: Add a SIGINT handler to NR PHY simulators When using T2 virtual functions, it is important to properly stop DPDK and free the device. Otherwise the virtual functions may be blocked and a restart of the admin application is necessary. If not carefully done, such kind of operation can lead to losing cores to DPDK processes that cannot be stopped. This can lead to situations where the machine is locked and can only be unlocked by a power cycle. Always properly stopping DPDK and freeing the device reduces the risk of such situation to happen. Up to now, SIGINT was shutting down the PHY simulators without freeing the device. This commit adds a signal handler to handle SIGINT in a way that allow to properly free the device. This feature is added to all the NR PHY simulators whether they use T2 or not in case it is now or later of any use. 2: Make nr_ulschsim functional There were two issues that were making nr_ulschsim non functional: 1. The channel output was not copied to decoder input (llr array) 2. The test on decoding successful outcome was wrong The result was that nr_ulschsim was succesfull whatever were its arguments. This changeset fixes the two issues so that nr_ulschsim is now functional.
-
Robert Schmidt authored
Harmonize and update Frequency Range computation to the current values specified by the standard 3GPP TS 38.101-1 Version 19.0.0 Table 5.1-1: Definition of frequency ranges - FR1 from 410 MHz to 7125 MHz - FR2 from 24.25 GHz to 71 GHz
-
Robert Schmidt authored
Fix long RACH regression Add some missing functionality that was not merged in !3088.
-
Robert Schmidt authored
-
Romain Beurdouche authored
-
Romain Beurdouche authored
feat(nr_unitary_common): Add banner and apply clang-format to openair1/SIMULATION/NR_PHY/nr_unitary_common.c
-
Romain Beurdouche authored
1. Change the name of `openair1/SIMULATION/NR_PHY/nr_dummy_functions.c` into `openair1/SIMULATION/NR_PHY/nr_unitary_common.c` for naming coherence after adding the SIGINT handler which is not a dummy function. 2. Instead of being built once for every NR PHY simulators, the common functions source file is built once as an object and linked to each simulator.
-
Guido Casati authored
The ULSCH_id variable is currently defined as uint8_t, which limits its range to 0-255. However, gNB->max_nb_pusch can exceed this range depending on the configuration (buffer_ul_slots and MAX_MOBILES_PER_GNB). This can lead to incorrect behavior or undefined results when max_nb_pusch is larger than 255. This commit changes the type of ULSCH_id from uint8_t to int to accommodate larger values of max_nb_pusch. The issue was observed when running the OAI gNB with MAX_MOBILES_PER_GNB set to 64 UEs. The root cause was traced back to the changes to UL processing introduced in !3166 (!2952).
-
Robert Schmidt authored
-
Robert Schmidt authored
After the parent commit, the registry might contain prefixed images. This commit adds the functionality to pull such prefixed image. Since we rename the pulled image (to have a consistent name, from whichever registry we might pull), remove the prefix as well so that it can be used with other CI functionality (remove image, use in test, ...) Examples for renaming: - pull from internal_registry for x86 internal_registry/oai-gnb:branchA => oai-ci/oai-gnb:branchA - pull from internal registry for ARM with "arm_" prefix internal_registry/oai-gnb:arm_branchA => oai-ci/oai-gnb:branchA - pull from x86 other registry (e.g., openshift) openshift/namespace/oai-gnb:branchA => oai-ci/oai-gnb:branchA
-
Robert Schmidt authored
The only currently viable way to push ARM images to our registry is to use a custom tag prefix. Modify the python test code to specify such a tag, and default to "" (no prefix).
-
Robert Schmidt authored
After the preceding commits, it's now possible to build images on ARM. Add a specific "native_arm" build kind to only build what we need as of now (do not only call it "arm", as that would match the kind "build_cross_arm64"). Add the corresponding XML. Pushing of images is disabled, as this does not work as of now.
-
Robert Schmidt authored
The (existing) Aerial pipeline on devkit uses an older version of nvipc, which is upgraded on gracehopper. Use a glob to match them equally, which also aligns this code with the corresponding Dockerfile, which already uses that glob.
-
Robert Schmidt authored
Use the right type for variable, as getopt_long() returns an int. Using char is not a problem on x86, but prevents the return of -1 in case of parameter reading end. This led to infinite loops on ARM, which is fixed through the variable type change. An additional counter measure (showing the problem) would be to print and error out when reading an undefined parameter, which is added here as well. This has been forgotten when making the same change for getopt() in cf985460 ("getopt() returns int").
-
Robert Schmidt authored
Dockerfiles hardcoded one copy operation to x86; generalize to capture ARM as well. Since the target directory cannot have any globs, we need to manually check the right directory, then move the file. Note that this is only necessary since we are forced to switch the compiler, as Ubuntu's default gcc-11 does not work with FlexRIC. When upgrading to Ubuntu 24, these lines should disappear and asan be installed as normal. See commit 94497435 ("Upgrade CI images to Ubuntu 22").
-
- 21 Mar, 2025 6 commits
-
-
Raghavendra Dinavahi authored
-
Robert Schmidt authored
SCTP: avoid assert on partial SCTP message The receive buffer for SCTP, before this branch, is 8192. If a message is larger, we receive only a partial message, which makes the gNB abort. Remove the abort to not be susceptible to a message intended to crash the gNB. also, increase the receive buffer to be more forgiving for large messages Closes: #920
-
Robert Schmidt authored
Disable EPS NAS security algorithms in 5GMM UE capabilities OAI nrUE is not supporting multiple RATs, therefore the EPS NAS security algorithms bit in 5GMM UE capabilities is not relevant. This bit is only relevant if N26 interface is supported by the AMF and the UE is supporting S1 mode, meaning that the UE is connected to a 4G LTE network, via the S1 interface (eNB - MME/SGW). When the UE performs an inter-system change from N1 mode to S1 mode, it transitions from 5GC to the EPC: at network level this happens over the N26 interface (which connects the 5G AMF to the 4G MME). In this transition is where the EPS security context becomes relevant: the UE does not know about the N26 interface, however is the AMF that can tell the UE, e.g. during the registration procedure, if the UE sets the S1 mode bit to "S1 mode supported" in the 5GMM capability IE, and the AMF supports the N26 interface, the AMF will include the Selected EPS NAS security algorithms IE in the SECURITY MODE COMMAND message, which is what happened in #915. Closes: #915
-
Romain Beurdouche authored
Even though the remaining NR PHY simulators do not use the T2, we may still feature them with a SIGINT handler for proper termination on SIGINT and for a matter of completeness. The remaining NR PHY simulators are: * nr_pbchsim * nr_prachsim * nr_psbchsim * nr_pucchsim
-
Romain Beurdouche authored
There was two issues that were making nr_ulschsim non functional: 1. The channel output was not copied to decoder input (llr array) 2. The test on decoding successful outcome was wrong The result was that nr_ulschsim was succesfull whatever were its arguments. This commit fixes the two issues so that nr_ulschsim is now functional.
-
Romain Beurdouche authored
When using T2 virtual functions, it is important to properly stop DPDK and free the device. Otherwise the virtual functions may be blocked and a restart of the admin application is necessary. Up to now, SIGINT was shutting down the PHY simulators without freeing the device. This commit adds a signal handler to handle SIGINT in a way that allow to properly free the device. This feature is first added to the PHY simulators that use the T2 which are `nr_ulsim`, `nr_dlsim`, `nr_ulschsim` and `nr_dlschsim`.
-
- 20 Mar, 2025 1 commit
-
-
luis_pereira87 authored
3GPP TS 38.101-1 Version 19.0.0 Table 5.1-1: Definition of frequency ranges - FR1 from 410 MHz to 7125 MHz - FR2 from 24.25 GHz to 71 GHz
-