- 17 Mar, 2026 12 commits
-
-
Raymond Knopp authored
-
Raymond Knopp authored
-
Robert Schmidt authored
-
Raymond Knopp authored
-
Raymond Knopp authored
Provide the memory buffer size for storing LLRs across HARQ rounds. then we don't need to check for this in the API users.
-
Raymond Knopp authored
-
Raymond Knopp authored
Co-authored-by:Robert Schmidt <robert.schmidt@openairinterface.org>
-
Raymond Knopp authored
-
Raymond Knopp authored
-
Raymond Knopp authored
-
Raymond Knopp authored
-
Robert authored
-
- 13 Mar, 2026 4 commits
-
-
Robert Schmidt authored
Fix XNAP to avoid recompilation and unnecessary includes See merge request oai/openairinterface5g!3985
-
Robert Schmidt authored
Remove the ITTI header, because it would trigger compilation errors (we don't link in LTE/NR RRC headers), but we don't actually need it.
-
Robert Schmidt authored
Notably, remove asn_codecs_prim_xer.h from the list of files, triggering problems when re-running ninja, because the "canonical OAI asn1c" (https://github.com/mouse07410/asn1c, commit ID 940dd5fa9f3917913fd487b13dfddfacd0ded06e) does not generate it: ninja explain: output openair2/XNAP/MESSAGES/asn_codecs_prim_xer.h doesn't exist In this version, a couple of files are not generated, so remove them from the list. Also, leave the files in the order as shown by ls.
-
Robert Schmidt authored
Integration `2026.w11` * !3864 remove xran_fh_tx_send_slot_BySymbol() and xran_fh_rx_read_slot_BySymbol() * !3967 Harmonize the use of definition for number of symbols per slot * !3971 Limit dl_DataToUL_ACK values to 15 as per standard * !3414 Added NTN-FR2 FDD bands defined in release 18 in Ka-band range * !3919 Reduce number of mutex locking in MAC->RLC direction * !3923 XNAP: Add encode/decode and unit tests for Xn Setup Request/Response/Failure * !3965 Enable BladeRF support in gNB Docker image * !3904 add multi-ue support to vrtsim * !3980 SDR reordering: correct warning, and USRP: return samples written * !3834 Use flat buffer for txdataF in gNB L1 * !3981 Bugfix: make longer telnet cmdfunc names * Reduce timing reference value for feptx_total in 40 MHz phytest See merge request oai/openairinterface5g!3976
-
- 12 Mar, 2026 7 commits
-
-
Jaroslava Fiedlerova authored
The reduction reflects improved feptx_total performance introduced in !3834.
-
Jaroslava Fiedlerova authored
Bugfix: make longer telnet cmdfunc names The maximum number of cmdfunc names is 20, which IMO is too low. Worse, if it's longer, nothing will warn us because C will just fill the array to it's end (without \0 at the end). To remedy this: - Allow longer names till 64 bytes (I hit the previous limit of 20) - Check that the name is within the length limit: if somebody wants a very long name, the strnlen() will return the maximum length, hitting that assertion. - When reading a command during runtime, allow the corresponding maximum length. On that occasion, also increase total number of permitted cmdfuncs.
-
Jaroslava Fiedlerova authored
Use flat buffer for txdataF in gNB L1 This MR changes txdataF buffer format to hold freq domain data starting from PRB0 instead of circular buffer that starts from PRB N/2. The motive is to simplify RE mapping function in L1 and copying data to xran lib.
-
Jaroslava Fiedlerova authored
SDR reordering: correct warning, and USRP: return samples written See commits for more information.
-
Jaroslava Fiedlerova authored
add multi-ue support to vrtsim Summary Extending vrtsim to support multiple UEs with per-UE channel emulation using CIRDB. Each UE can have different antenna configurations and independent channel conditions (TDL models, delay spreads, and mobility speeds). This includes: - Add num_ues and ue_id parameters for server and client configuration - Implement antenna offset multiplexing for UL combining and DL distribution - Support heterogeneous antenna configurations across UEs (e.g., UE0: 1x2, UE1: 2x2) - Integrate CIRDB for per-UE channel modeling with independent TDL models, delay spreads, and speeds - Replace comma-separated per-UE params with structured ue_config blocks for cleaner configuration Usage: * Start 5G core network cd openairinterface5g/doc/tutorial_resources/oai-cn5g docker-compose up -d * Create network namespaces sudo ip netns add ue0 sudo ip netns add ue1 * Start gNB (2x2 with multi-UE CIRDB) sudo ./nr-softmodem -O ../../ci-scripts/conf_files/gnb.sa.band78.106prb.vrtsim.2x2.yaml --device.name vrtsim --vrtsim.role server --vrtsim.num_ues 2 --vrtsim.cirdb 1 --vrtsim.cirdb_file ~/raytracing-channel-emulator/server/external_taps/cir_db.bin --vrtsim.cirdb_yaml ~/raytracing-channel-emulator/server/external_taps/cir_db.yaml --vrtsim.ue_config.[0].antennas "1x2" --vrtsim.ue_config.[0].model_id 0 --vrtsim.ue_config.[0].ds_ns 10.0 --vrtsim.ue_config.[0].speed_mps 1.5 --vrtsim.ue_config.[1].antennas "2x2" --vrtsim.ue_config.[1].model_id 1 --vrtsim.ue_config.[1].ds_ns 30.0 --vrtsim.ue_config.[1].speed_mps 30.0 * Start UE 0 (1x2 antennas, TDL-A, 10ns DS, 1.5 m/s) sudo ip netns exec ue0 ./nr-uesoftmodem -O ../../ci-scripts/conf_files/nrue.vrtsim.chanmod.yaml -C 3319680000 -r 106 --numerology 1 --ssb 516 --device.name vrtsim --vrtsim.role client --vrtsim.ue_id 0 --band 78 --ue-nb-ant-tx 1 --ue-nb-ant-rx 2 --uicc0.imsi 001010000000001 * Start UE 1 (2x2 antennas, TDL-B, 30ns DS, 30 m/s) sudo ip netns exec ue1 ./nr-uesoftmodem -O ../../ci-scripts/conf_files/nrue.vrtsim.chanmod.yaml -C 3319680000 -r 106 --numerology 1 --ssb 516 --device.name vrtsim --vrtsim.role client --vrtsim.ue_id 1 --band 78 --ue-nb-ant-tx 2 --ue-nb-ant-rx 2 --uicc0.imsi 001010000000002 -
Merkebu Girmay authored
-
Merkebu Girmay authored
- Add num_ues and ue_id parameters for server and client configuration - Implement ul combining and dl distribution to all ues - Each ue uses dedicated antenna offsets based on ue_id - Works with no-chanmod mode only and with uniform antenna dimensions across all ues
-
- 11 Mar, 2026 5 commits
-
-
Jaroslava Fiedlerova authored
Enable BladeRF support in gNB Docker image The goal of this MR is to add support for building a gNB image that supports BladeRF.
-
Robert Schmidt authored
The maximum number of cmdfunc names is 20, which IMO is too low. Worse, if it's longer, nothing will warn us because C will just fill the array to it's end (without \0 at the end). To remedy this: - Allow longer names till 64 bytes (I hit the previous limit of 20) - Check that the name is within the length limit: if somebody wants a very long name, the strnlen() will return the maximum length, hitting that assertion. - When reading a command during runtime, allow the corresponding maximum length. On that occasion, also increase total number of permitted cmdfuncs.
-
Robert Schmidt authored
The original error was simply "failed to write to RF", which is not very precise. Update with sample numbers for context, and add it in another similar case for consistency. Co-authored-by:Sagar Arora <sagar.arora@openairinterface.org>
-
Robert Schmidt authored
At least writerProcessWaitingQueue() checks for the exact number of samples written. In many other places, we check that the return is non-zero. The usrp-tx-write-thread functionality returned 0, which triggers various problems. Return the number of samples, as in the "direct write" case (if-block before else-block). Co-authored-by:Sagar Arora <sagar.arora@openairinterface.org>
-
Reem Bahsoun authored
-
- 10 Mar, 2026 12 commits
-
-
Jaroslava Fiedlerova authored
XNAP: Add encode/decode and unit tests for Xn Setup Request/Response/Failure This MR adds complete support for the following in accordance with 3GPP TS 38.423 v16.2.0 - Add Xn Setup Request, Response, and Failure message type definitions - Implement ASN.1 encode/decode for all Xn Setup messages - Add equality checks and memory management helpers - Create XNAP unit test infrastructure Co-author: @venkatareddy Acknowledgement This work was carried out as part of research and development at Indian Institute of Science (IISc), Bengaluru.
-
Jaroslava Fiedlerova authored
Reduce number of mutex locking in MAC->RLC direction Currently, the scheduler locks RLC for each operation. Concretely - for RLC status indication (to get amount of bytes per LC), it locks per LC - for RLC indication (UL traffic), it locks for each MAC SDU of which there can be multiple in a TB - for RLC data req (getting data from RLC to put into a transport block), it locks for each LCID and PDU to get. This can have a certain overhead, because we need to re-lock RLC multiple times instead of once (per operation above). In this MR, rework the interfaces such that it is possible to get all information/data in a single lock-unlock cycle, which should also help with "spikes" of scheduler times (in some scenarios, it seems the scheduler takes longer than 0.5ms, and while it's not only locking, re-locking might contribute), and an increase of number of UEs (e.g., instead of doing 3 * N UEs lock cycles for getting status of SRB1, SRB2, DRB1, we do only N times). Concretely, for each UEs RLC status indication, we lock once, only once per LCID when filling a TB (in particular for LCID 4, on high throughput, it might be many times), and only once per UL TB (for the common case of UL data). Minor fixes include the increase of the Aerial VNF thread priority, and reducing the maximum RLC indication size to reduce excessive computation (we can't have 1MB in one TB, it is too much).
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Adds the API, which will always prepend a 3 byte header before writing a PDU. This can be used to call less often into RLC, and avoid potential locking. The API is used at the gNB DLSCH scheduler. Also, this removes the "overhead" calculation: since we fill the entire TB at once, RLC will leave space for headers as necessary.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Rakesh BB authored
- Add Xn Setup Failure message type definitions. - Implement encoder and decoder for Xn Setup Failure. Xn Setup Failure (3GPP TS 38.423v16.2.0 §9.1.3.3) - Cause (M) - Add equality check and memory management helpers. - Extend XNAP library unit tests to cover Setup Failure -
Rakesh BB authored
- Add Xn Setup Response message type definitions - Implement encoder and decoder for Xn Setup Response Xn Setup Response (3GPP TS 38.423v16.2.0 §9.1.3.2) - Global NG-RAN Node ID (M) - TAI Support List (M) - Add equality check and memory management helpers - Extend XNAP library unit tests to cover Setup Response -
Rakesh BB authored
- Add initial XnAP library structure under openair2/XNAP/lib - Implement common XnAP helper utilities (xnap_lib_common) - Add gNB interface management module for Xn Setup procedures - Introduce XnAP message type definitions in xnap_messages_types.h - Integrate XnAP library into build system (CMakeLists.txt) - Add standalone XnAP library unit test (xnap_lib_test) - Implement encoder, decoder + test for Xn Setup Request Xn Setup Request (3GPP TS 38.423v16.2.0 §9.1.3.1) - Global NG-RAN Node ID (M) - TAI Support List (M) - AMF Region Information (M) - Extend conversions.h with MACRO_BIT_STRING_TO_GNB_ID utility Co-authored-by:Sreeshma Shiv <sreeshmau@iisc.ac.in>
-
Rakesh BB authored
- Add XNAP component to the logging framework in log.h - Introduce LEGACY_XNAP log message definitions (INFO, ERROR, WARNING, DEBUG, TRACE) in T_messages.txt for tracing and debugging XNAP procedures - Update xnap_R16.2.0.cmake formatting for consistency - Add missing ASN.1 runtime sources required by XNAP (e.g. asn_codecs_prim_xer.c, BIT_STRING_print.c, BIT_STRING_rfill.c, etc.) -
Jaroslava Fiedlerova authored
Added NTN-FR2 FDD bands defined in release 18 in Ka-band range * NTN-FR2 bands 510, 511, 512 added. TS 38.101-5 v 18.9 defines these 3 FR2-FDD bands for NTN operation. * These bands are defined in Ka band range (17.3Ghz - 31Ghz). * Tested using the added conf files using RFSIM and GEO configuration. * There were some inconsistencies observed when testing with RFSimulator before UE Syncs to the gNB in terms of samples being written for FR2 configurations. Once the UE syncs, the inconsistencies disappear. * this is the problem - UE writes incorrect number of samples and gNB complains about getting samples in past * The above inconsistencies were also fixed in this merge request. * These commits solving above inconsistencies were removed from this MR and a different MR was raised. MR with those commits: !3928.
-