Commit Graph
32355 Commits
Author SHA1 Message Date
Robert Schmidt 1a3bf557cf delay transaction: handle if no UE found
It can happen that a message is delayed, but then no UE is found for
such message, e.g., something is delayed but the UE context is deleted
in the meantime:

    [02:23:16.320730] [NR_RRC] I [--] (UE ID 3 RNTI d2b1) Remove UE context

    Assertion (ue_context_p) failed!
    In rrc_delay_transaction() /oai-ran/openair2/RRC/NR/rrc_gNB.c:191

In that case, don't delay the message further -- all handlers gated by
this function will check for the UE context and abort the transaction if
not present.
2026-04-01 17:09:37 +02:00
Robert Schmidt 1e9476a6de E1 message: handle if no UE found
Abort message processing if no UE can be found, which is what is done in
most other messages.
2026-04-01 17:09:37 +02:00
Robert Schmidt 95e4270ea7 bugfix: do not trigger e1 bearer setup when no PDU session
It can happen that no PDU session can be setup (e.g., PDU session
already setup). Check that there is at least one before triggering the
message.

Also initialize bearer_req.gNB_cu_cp_ue_id early to avoid uninitialized
IDs (e.g., when no PDU session to be setup).
2026-04-01 17:09:37 +02:00
Jaroslava Fiedlerova fcd3e62a33 Merge remote-tracking branch 'origin/ci-fix-aerial-oaiue' into integration_2026_w14 (!4027)
CI: fix Aerial conf for test with 30 MHz BW
2026-04-01 16:33:08 +02:00
Jaroslava Fiedlerova 28c6b6d9d9 Merge remote-tracking branch 'origin/compil_imp' into integration_2026_w14 (!4012)
More compilation improvements

Mostly to decouple NR files from LTE headers.

At least in one instance, ulsch_input_buffer_array, using an LTE constant in
NR code was quite dangerous because the buffer in NR could easily be larger
than what the LTE constant foresee.
2026-04-01 16:32:18 +02:00
Jaroslava Fiedlerova d1f92c03a7 Merge remote-tracking branch 'origin/fix-csi-rs-meas' into integration_2026_w14 (!4022)
UE: Fix CSI RS Measurement

1. Fix regression introduced in !3834.
2. ZMQ has no interference or artificial noise so the interference plus noise
   measured is always 0. nr_csi_rs_pmi_estimation() returns SINR as 0 if noise
   is 0 which reports CQI as 0. This fix computes SINR if noise is 0 instead of
   returning.
2026-04-01 09:58:48 +02:00
Jaroslava Fiedlerova 1dd66355a2 Merge remote-tracking branch 'origin/nr-ue-suci-scheme-a' into integration_2026_w14 (!4010)
UE: Implement SUCI Profile Scheme A

This MR modifies the nrUE to support Profile Scheme A based SUCI generation as
outlined in TS 33.501 §C.3 Elliptic Curve Integrated Encryption Scheme (ECIES),
this further extends SUCI generation, which currently only supports the NULL
Scheme.

Changes:
- Extend UICC structure for SUCI parameters.
- Add cryptographic primitives (Curve25519, X9.63 KDF).
- Add an abstracted function to transfer digit strings into their corresponding
  BCD value.
- Updates SUCI generation to support Profile Scheme A.
- Updates NAS SUCI encoding to support hexadecimal cryptographic output in
  addition to BCD encoded MSINs.

Notes:
When a configuration file specifies an unsupported Profile Scheme, the NAS layer
triggers a fatal error. This occurs either because Profile Scheme B is
unimplemented or the build uses OpenSSL < 3.0, which lacks Curve25519 and X9.63
KDF support, ensuring users are informed of the incompatibility. Support for
Profile Scheme B (TS 33.501 §C.3.4.2 Profile B) can be implemented at a later
stage using P-256-based encryption.

The implementation of SUCI Profile Scheme A was tested against Open5GS’s core
implementation. OpenAirInterface’s cn5G does not yet support Scheme A and should
be extended to include it in a future update.
2026-04-01 09:56:29 +02:00
Jaroslava Fiedlerova f59083f620 CI: fix Aerial conf for testcase with 30 MHz BW 2026-03-31 22:30:48 +02:00
Robert Schmidt 40a1afda05 Rewrite RUNMODEM.md for general gNB overview
Assisted-by: Claude:claude-sonnet-4-6
2026-03-31 21:35:31 +02:00
Robert Schmidt fd2fda6260 runmodem-ue.md: update multi-UE operation, minor updates 2026-03-31 21:35:31 +02:00
Robert Schmidt faadb1aa15 doc: physim: explain timing, give more ctest examples 2026-03-31 21:35:31 +02:00
Jaroslava Fiedlerova c07813a43e Add physical simulator test to tests target
This allows to compile physical simulators by compiling only tests with
"ninja tests". It fixes a regression.

Fixes: ec8efe1b7e ("Unify physim test definition")
2026-03-31 21:35:31 +02:00
Robert Schmidt 76b4899ecb USRP driver: describe patch, --continuous-tx, -E options 2026-03-31 21:35:31 +02:00
Sakthivel Velumani 422ebb2c7c csi: fix sinr measurement with ZMQ 2026-03-31 19:10:58 +00:00
Sakthivel Velumani e3b74e542d csi: fix regression introduced in !3834 2026-03-31 19:10:49 +00:00
francescomani 74cc133a13 fix for ldpc_aal compilation error 2026-03-31 16:45:25 +02:00
francescomani 0b3216f889 further compilation cleanup 2026-03-31 16:45:25 +02:00
francescomani f94dad6893 rename and take out gold generic function from lte files to specific file to avoid cross-compilation 2026-03-31 16:45:25 +02:00
francescomani a71cd36248 compilation improvements aroung impl_defs_top file 2026-03-31 16:45:24 +02:00
Bartosz Podrygajlo e4d2d2b827 Cleanup common_lib.h
This change reduces the number of dependecies of common_lib.h and simplifies
the task of implementing an external OAI radio library.
2026-03-31 11:50:35 +02:00
Jaroslava Fiedlerova 7b2d9d9e31 Merge remote-tracking branch 'origin/hotfix_layer_mapping_aarch64' into integration_2026_w14 (!4021)
hotfix for 4 layer mapping on aarch64

This hotfix fixes a small bug appearing on aarch64 in the 4-layer PDSCH mapping
function. It was an error in the original implemntation.
2026-03-31 11:42:21 +02:00
Aaron van Diepen 8ec7b4009b Implement SUCI Profile Scheme A for 5G UE
Extend UICC configuration parsing to provide: routing_indicator,
protection_scheme, home_network_public_key, and home_network_public_key_id.
Use the protection_scheme value to decide what SUCI Profile Scheme to
apply during SUCI generation. Add support for Profile Scheme A which
provides ECIES-based encryption using Curve25519 and X9.63 KDF as outlined
in TS 33.501 Section C.3.4.1 Profile A.

When a configuration file specifies an unsupported Profile Scheme,
the NAS layer triggers a fatal error. This occurs either because
Profile Scheme B is unimplemented or the build uses OpenSSL < 3.0,
which lacks Curve25519 and X9.63 KDF support, ensuring users are
informed of the incompatibility.
2026-03-31 00:44:32 +02:00
Robert Schmidt 732f970442 Add tracy documentation 2026-03-30 23:35:22 +02:00
Robert Schmidt dd3490714c Reorganize BUILD.md: cmake first, describe how to build all targets 2026-03-30 21:20:43 +02:00
Robert Schmidt 50e6cd44af Move instruction on how to configure UE to separate page
Save space in the main tutorial, and group UE-specific configuration in
one page. Add a reference where to find UE-related configuration
information.
2026-03-30 21:20:33 +02:00
Robert Schmidt 4ad1775c1d Remove unused BWP document entry 2026-03-30 21:20:29 +02:00
Robert Schmidt 37a2a0590a Move developer-specific docs to developer's section 2026-03-30 21:20:24 +02:00
Robert Schmidt 4c9aaba54a Remove NSA from instructions: already covered elsewhere 2026-03-30 21:20:22 +02:00
Robert Schmidt fbb867adb8 Split out nrUE configuration/documentation to separate document
I only modify the headings and write an introductory sentence, but the
content is otherwise unmodified.
2026-03-30 21:19:34 +02:00
Robert Schmidt 2db282c7d3 Split out NTN configuration from RUNMODEM.md
Split out to make a standalone NTN configuratio page that would be
easier to find. I only modify the headings in the new file and write an
introductory sentence of the tutorial, the rest is unchanged.
2026-03-30 21:18:01 +02:00
Bartosz Podrygajlo 2578866451 vrtsim: disable channelmod histogram print if its empty 2026-03-30 09:49:18 +02:00
Bartosz Podrygajlo 96cec32eaf Integrate channel pipeline with vrtsim
Integrate channel pipeline library with vrtsim with two acceleration
options chosen at compile time:
 - threadpool if CUDA support is disabled
 - CUDA otherwise
2026-03-30 09:48:58 +02:00
Bartosz Podrygajlo 47ba5d3ca5 Acceleration of channel convolution and noise generation
Added two versions of channel convolution and noise generation:
 - accelerated via threadpool
 - accelerated using CUDA

The main difference between this and previous versions of channel
convolution implementations is that these functions take a real-world
approach to input/output where both could be split unevenly over a set of
buffers, e.g. ring buffers used in vrtsim.

The CUDA-accelerated version only works on systems with unified memory, e.g. NVidia
DGX Spark or GH
2026-03-30 09:48:50 +02:00
Bartosz Podrygajlo c7799886cf Move noise_device to openair1/SIMULATION/TOOLS 2026-03-30 09:47:17 +02:00
Bartosz Podrygajlo 384d1eedf6 Fix for unit tests 2026-03-30 09:26:55 +02:00
Bartosz Podrygajlo 744e8d2108 Switch xran lib repo to https://github.com/openairinterface/o-du-phy.git 2026-03-29 21:38:35 +02:00
Raymond Knopp f68f23ea86 hotfix for 4 layer mapping on aarch64 2026-03-27 21:55:35 +01:00
Robert Schmidt bdc9c4922f Remove unused ITTI tasks 2026-03-27 18:57:11 +01:00
Robert Schmidt ab0757c4d9 Remove many unused files
The lteUE RRC was sending some messages, but no TASK_PHY_UE exists to
receive them. Remove also this code for clarity.
2026-03-27 18:57:09 +01:00
francescomani 2cb9dc6bcd handle unused sched_pusch in rx_sdu function 2026-03-27 18:06:34 +01:00
francescomani 10d386ef75 some more additional fix for unused arguments 2026-03-27 18:06:34 +01:00
francescomani b10864c2e8 add flag for unused function arguments in openair3 folder CMakeLists 2026-03-27 18:06:34 +01:00
francescomani 683d855d97 add flag for unused function arguments in common folder CMakeLists
(not enforced because of fmtlog external dependency)
2026-03-27 18:06:33 +01:00
francescomani 2483b68ee4 add flag for unused function arguments in NAS CMakeLists 2026-03-27 18:03:11 +01:00
francescomani 7732c30c1d moving unused check to upper folder in openair2 2026-03-27 18:02:43 +01:00
francescomani 7cf76f69bd further L2 cleanup for unused arguments in functions 2026-03-27 18:01:25 +01:00
francescomani f59d67e526 add flag for unused function arguments in E1AP CMakeLists 2026-03-27 18:01:24 +01:00
francescomani 99bded7b87 improve nr_unitary_common file to prevent unused parameter warnings 2026-03-27 18:01:01 +01:00
francescomani 0da39e702c add flag for unused function arguments in F1AP CMakeLists 2026-03-27 18:01:00 +01:00
francescomani 6b5a8b691d further L1 cleanup for unused arguments in functions 2026-03-27 18:00:32 +01:00