Commit Graph
11804 Commits
Author SHA1 Message Date
francescomani 263ed618cb adding static to tables and renaming the file 2025-03-03 17:20:36 +01:00
francescomani 3852320af5 improvements in ul_port_config function 2025-03-03 17:00:26 +01:00
francescomani a04e7af63e formatting 2025-03-03 17:00:26 +01:00
francescomani c898a9f269 function to get RV replacing extern vector 2025-03-03 17:00:26 +01:00
francescomani 59d2809450 remove nr_rrc_extern.h 2025-03-03 17:00:26 +01:00
francescomani 67cf66c65c remove mac_extern at UE 2025-03-03 17:00:26 +01:00
francescomani f265729e68 functions for 7-3-1-1-2 tables 2025-03-03 17:00:26 +01:00
francescomani 9aafec3e57 include header for mac_rlc_data_ind 2025-03-03 17:00:26 +01:00
francescomani ab11e1a58c function for precoding information parameters 2025-03-03 17:00:26 +01:00
francescomani 0565b99900 function for backoff indicator table 2025-03-03 17:00:26 +01:00
francescomani 9c16a323fe function to handle antenna port tables 2025-03-03 17:00:26 +01:00
francescomani cf9b19a855 remove unused tables from UE mac_extern.h 2025-03-03 17:00:26 +01:00
francescomani 38734ee31c remove nr_mac_extern file 2025-03-03 17:00:26 +01:00
francescomani 00ac4f0b46 functions to read BSR tables 2025-03-03 17:00:26 +01:00
francescomani 26c94a34c4 make precoding tables local and remove them from common files 2025-03-03 17:00:26 +01:00
francescomani 2f6b80b444 remove unnecessary Type0-PDCCH externs 2025-03-03 17:00:26 +01:00
Jaroslava Fiedlerova e03c15e85b Merge remote-tracking branch 'origin/nr-ue-nas-5g-s-tmsi' into integration_2025_w08 (!2725)
Use 5G-S-TMSI as UE identity in RRCSetupRequest

This MR includes the following implementation:

- Handle 5G-S-TMSI in RRCSetup:
  - Set the ue-Identity to ng-5G-S-TMSI-Part1 in RRCSetupRequest and
  - If RRCSetup is received in response to an RRCSetupRequest: set the
    ng-5G-S-TMSI-Value to ng-5G-S-TMSI-Part2 in do_RRCSetupComplete

TS 38.331 5.3.3.3 Actions related to transmission of RRCSetupRequest message:

The UE shall set the contents of RRCSetupRequest message as follows:
1> set the ue-Identity as follows:
2> if upper layers provide a 5G-S-TMSI:
3> set the ue-Identity to ng-5G-S-TMSI-Part1;

- Pass 5G-S-TMSI to RRC when NAS receives GUTI in Registration Accept
  - NAS extracts GUTI from Registration Accept
  - send ITTI indication from NAS to RRC when GUTI is available and store
    5G-S-TMSI in RRC instance
- Rework of Initial UE message handling in RRCSetupComplete: simplify code and memory management
- Fix for integrity failure after UE comes back from RRC IDLE
- Other NAS fixes

Note:
- Initial implementation of Initial NAS Message: Service Request -> moved to !3065 (merged)
- Rework of Registration Request added to !3176 (merged)

Closes #772
2025-02-25 11:35:13 +01:00
Jaroslava Fiedlerova 09a793eea5 Merge remote-tracking branch 'origin/Improve-RA-logs' into integration_2025_w08 (!3264)
Fix "Received Nack" log for Msg4/MsgB and minor improvement in RA logs

Fix "Received Nack" log for Msg4/MsgB, in 4-Step RA. When there is a Msg4 NACK,
we have this log:

[NR_MAC]   (UE 91db) Received Nack in MsgB, preparing retransmission!

This MR fixes the message and now works correctly both in 4-Step RA and 2-Step RA.
Other additional but minor improvement in RA logs.
2025-02-21 14:53:25 +01:00
Jaroslava Fiedlerova fcd7e76143 Merge remote-tracking branch 'origin/issue903' into integration_2025_w08 (!3259)
UE DCI no candidates

Do not schedule DCI in MAC UE if there are no candidates
2025-02-21 14:52:43 +01:00
Jaroslava Fiedlerova 855f8c715b Merge remote-tracking branch 'origin/fix-f1ap-cell-info-slice' into integration_2025_w08 (!3272)
Fix: write NSSAI info of F1AP Cell Info struct

During refactoring, the previously implemented NSSAI field of the cell
info structure was not written to F1AP ASN.1 structures anymore;
eq_f1ap_cell_info() also conveniently omitted the corresponding equality
check. Add this back so the CU can correctly receive the NSSAI in case
of F1 split operation.

Fixes: f278b008 ("Add encoding/decoding library for F1AP Setup
Request (Interface Management) ")
2025-02-21 14:27:56 +01:00
Robert Schmidt 2cc3f3bcac Fix: write NSSAI info of F1AP Cell Info struct
During refactoring, the previously implemented NSSAI field of the cell
info structure was not written to F1AP ASN.1 structures anymore;
eq_f1ap_cell_info() also conveniently omitted the corresponding equality
check. Add this back so the CU can correctly receive the NSSAI in case
of F1 split operation.

Fixes: f278b00837 ("Add encoding/decoding library for F1AP Setup
  Request (Interface Management) ")
2025-02-21 07:42:48 +01:00
Guido Casati 89ca89ea4b Address integrity failure after UE reconnects from RRC IDLE
After a new connection from RRC IDLE, an integrity failure occurs. This
commit is addressing this issue to pass the integrity check.

* Reset ciphering and integrity algorithms when going into RRC IDLE

* Use uplink NAS COUNT in Registration Request for initial KgNB derivation
  * Temporarily deriving UP protection keys in Registration Request
  * Note: AS SMC handling should be done according to 33.501 §6.8.1.1.2.2
2025-02-19 15:07:08 +01:00
Guido Casati 48a307e172 Use 5G-S-TMSI in RRC connection setup procedures
* Use the 5G-S-TMSI stored in RRC to be used as UE identity
* Use 5G-S-TMSI part 1 in RRCSetupRequest encoding (TS 38.331 clause 5.3.3.3)
* Set the ng-5G-S-TMSI-Value in RRCSetupComplete to ng-5G-S-TMSI-Part2 (5.3.3.4 of 3GPP TS 38.331)
* current and only scenario: RRCSetup is received in response to an RRCSetupRequest
2025-02-19 15:02:11 +01:00
francescomani cb72bd26f4 do not send to L1 DCI PDU if there are no candidates 2025-02-19 10:31:42 +01:00
francescomani 1ce6167c45 free message after receiving it at MAC from RRC 2025-02-18 18:07:44 +01:00
ndomingues 27dccb8bce Fix "Received Nack" log for Msg4/MsgB and minor improvement in RA logs 2025-02-18 14:23:36 +00:00
Guido Casati c6cc00633f Rework handling of initial NAS message in RRCSetupComplete generation
* use initialNasMsg to store nas messages buffer and length
* buffer is dynamically allocated in generateRegistrationRequest, so do the
  same in NSA and free dynamic allocated data afterwards
2025-02-18 12:47:13 +01:00
Guido Casati ca869d8fd3 Pass to RRC the 5G-S-TMSI extracted from NAS Registration Accept
* NAS -> RRC: RRC receives an ITTI message with NAS 5GMM indication message
  containing the 5G-S-TMSI derived from NAS GUTI
* 5G-S-TMSI is stored in the RRC instance and to be later encoded in the RRCSetup
2025-02-18 12:47:13 +01:00
Guido Casati 4736f97055 Indicate to NAS that the RRC connection has been established with a Connection Establishment Indication
* ITTI from RRC to NAS
* according to 5.3.1.3 of 3GPP TS 24.501
* set 5GMM mode to CONNECTED
2025-02-18 12:47:13 +01:00
Francesco Mani 87c83f72cb Fix to receive SIB1 in re-establishment
During re-establishment we still have a valid SIB1 so we don't decode it
again. Then the UE never moves out of UE_RECEIVING_SIB, making
re-establishment impossible. This fixes addresses this.

Fixes: 11b87d8744 ("NR UE: RRC layer now explicitly tells MAC layer
when the RA procedure can be started)"
2025-02-18 10:27:34 +01:00
Robert Schmidt 1114ee3a2d Merge remote-tracking branch 'origin/rc-report-service-fix' into integration_2025_w07 (!3252)
[E2 agent] Multi RC REPORT service styles support

Issue: unforeseen capability of having the same RAN Parameter ID across
different REPORT service styles.

Solution: keep only RAN Parameter IDs from REPORT styles that are
supported by OAI. Implement sequence array where each element is
combination of RIC request ID (unique per RIC SUBSCRIPTION) and Event
Trigger Definition. This way we can properly check further conditions
for a certain RAN Parameter ID. (e.g. if xApp is subscribed to RRC
Connected and/or other modes, for "RRC State Changed To" RAN Parameter
ID)

Next steps: for new RAN Parameter ID, add new sequence array.
2025-02-17 22:10:35 +01:00
9e2c889dba Multi RC REPORT service styles support
Issue: unforeseen capability of having the same RAN Parameter ID across different
REPORT service styles.

Solution: keep only RAN Parameter IDs from REPORT styles that are supported by OAI.
Implement sequence array where each element is combination of RIC request ID (unique per RIC SUBSCRIPTION)
and Event Trigger Definition. This way we can properly check further conditions for a certain RAN Parameter ID.
(e.g. if xApp is subscribed to RRC Connected and/or other modes, for "RRC State Changed To" RAN Parameter ID)

Next steps: for new RAN Parameter ID, add new sequence array.

Co-authored-by: Bischoff <tano.bischoff@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
2025-02-17 16:33:03 +01:00
Robert Schmidt 7d574ffcfb Merge remote-tracking branch 'origin/fix_ntn_leo' into integration_2025_w07 (!3194)
fix NTN LEO scenarios

- gNB: add support for NTN parameter ta-CommonDrift-r17
- NR UE: fix application of NTN TA information
- NR UE: add command line parameter ntn-initial-time-drift to compensate
  time drift during initial sync
- NR UE: fix writeTimestamp inconsistencies
- NR UE: add MAC state UE_RECEIVING_SIB ensuring to start RA only after
  successfully receiving SIBs
- rfsimulator: update earth radius for LEO simulation to match UE
  position in ue.conf file
- update conf files for NTN LEO scenario
- update description how to run NTN scenarios in RUNMODEM.md
- fix: ta-Common is a round-trip-time, not a one-way delay
- NR UE: simplify calculation of next_tx_slot_and_frame by moving up
  assignment of duration_rx_to_tx
- cellbarredNTN indicates notbarred in SIB1 if NTN access is available
- Removed b66 NTN and enabled B254 NTN conf file in CI
- NR UE: RRC layer now explicitly tells MAC layer when the RA procedure
  can be started
- move NTN LEO config to band 254 and update doc/RUNMODEM.md

Closes #901
2025-02-17 15:09:24 +01:00
Thomas Schlichter 11b87d8744 NR UE: RRC layer now explicitly tells MAC layer when the RA procedure can be started 2025-02-14 17:04:47 +00:00
Raghavendra Dinavahi 2b4ca7e47d cellbarredNTN indicates notbarred in SIB1 if NTN access is available
38.331 release 18  section 5.2.2.4.2 indicates that to access NTN, cellbarredNTN in SIB1 should be set to notbarred.
2025-02-14 17:04:47 +00:00
Thomas Schlichter f1ae1025ad fix: ta-Common is a round-trip-time, not a one-way delay 2025-02-14 17:03:56 +00:00
Thomas Schlichter be2ed07911 NR UE: add MAC state UE_RECEIVING_SIB ensuring to start RA only after successfully receiving SIBs 2025-02-14 17:03:56 +00:00
Thomas Schlichter e7122ad789 NR UE: fix application of NTN TA information 2025-02-14 17:03:48 +00:00
Robert Schmidt 919bfb8cfb Merge remote-tracking branch 'origin/improv_TDD' into integration_2025_w07 (!3249)
Improvements in TDD configuration

Including using the frame structure introduced in !2799 also at the UE
2025-02-14 15:10:22 +01:00
Robert Schmidt 2334f6f522 Merge remote-tracking branch 'origin/nas-issue-881' into integration_2025_w07 (!3176)
Refactor and extend NAS Registration Request

Extended NAS Registration Request generation and encoding according to
8.2.6 of 3GPP TS 24.501. Main topics:

- NAS Registration Type
- NAS KSI
- integrity protection
- NAS container encoding

Improvements:

- Add 5GMM Modes in NAS
- Introduced 5GMM state machine

Fixes:

- add 5GMM Capability IE to Registration Request
- closes #881, #819
2025-02-14 15:08:23 +01:00
Bartosz Podrygajlo 095b791929 Add PDCCH UESS aggregation level configuration option
Added uess_agg_levels configuration option which changes the number of PDCCH
candidates per aggregation level.
2025-02-13 10:57:25 +01:00
Bartosz Podrygajlo 16f028dba5 Dynamic PDCCH aggregation level
The aggregation level search order for PDCCH candidates is modified:
 - the search starts from desired_agg_level_index, which is a value from 0 to 4
   proportial to pdcch_cl_adjust.
 - pdcch_cl_adjust is a value between 0 and 1 that indicates PDCCH channel quality
   by averaging HARQ DTX rate. A value of 0 means perfect channel, a value o 1 means
   impaired channel.
2025-02-13 10:57:14 +01:00
francescomani bd7d007ea8 remove global slots_per_frame, use function instead 2025-02-12 18:08:56 +01:00
francescomani bec43f01a8 use frame_structure in set_tdd_config_nr_ue function 2025-02-12 18:01:56 +01:00
francescomani ad66c75a33 frame_structure used also at UE 2025-02-12 18:01:51 +01:00
francescomani 74bcd9963d make relevant frame_structure functions common 2025-02-12 11:49:43 +01:00
francescomani d0ba1a30e3 use frame_type in frame_structure instead of bool 2025-02-12 11:24:56 +01:00
francescomani b439816409 use frame structure parameter for slots per frame 2025-02-12 11:24:25 +01:00
Robert Schmidt 859494112a Merge remote-tracking branch 'origin/e1ap-lib-improvements' into integration_2025_w06 (!3219)
E1AP enc/dec lib improvements

This MR is including some fixes and improvements for the E1AP library,
focusing mostly on Bearer Context Management:

- struct reorganization: split setup and modification request messages
  into distinct structures, ensuring compliance with 3GPP TS 38.463
  specifications
- add encoding/decoding sub-functions for different IEs
- improvements to Bearer Context Management: Implemented various
  improvements to the E1 Bearer Context Setup Response and Request,
  including the adoption of encoding/decoding sub-functions for
  different IEs
- use lib functions whenever need (e.g. cp_bearer_context_setup_request
  in cucp_cuup_e1ap.c)
- handle optional struct members as pointers
- updated copy/equality check utility functions

EDIT: The MR is also including the changes from !3222 (closed):

> While testing E1 with security enabled for DRBs, it was found that
> data traffic was not functional.
>
> The problem was that security settings were modified in the PDCP
> reestablishment happening when receiving Bearer Context Modification
> Request.
>
> So some restructuring was done.
>
> The actual fix is in 18176297, the others are for support. Basically
> we introduce a boolean to check if the security settings are present in
> Bearer Context Modification Request and we change PDCP security settings
> only if they are.
>
> (Note that in OAI CU security settings are not sent in Bearer Context
> Modification Request, so we could also remove all this, but we need to
> be compatible with other cu-up and/or cu-cp.)
2025-02-11 17:53:40 +01:00
Robert Schmidt 805ed55788 Merge remote-tracking branch 'origin/NR_add_new_BW' into integration_2025_w06 (!3245)
Added Support of 35Mhz,45Mhz,70Mhz Bandwidth

Added Support of 35Mhz,45Mhz,70Mhz Bandwidth for 30Khz Subcarrier
Spacing, Also added 35Mhz, 45Mhz bw for 15Khz Subcarrierspacing.

Referred Spec TS 38.101 v18.6.0 section 5.3.2, table 5.3.2-1
2025-02-11 17:47:59 +01:00