Commit Graph
6803 Commits
Author SHA1 Message Date
Robert Schmidt ca1ca5f5af Check beam before allocating Msg2/harmonize with Msg3 retx 2024-04-04 18:54:04 +02:00
Robert Schmidt d534e444f0 Check Msg3 TDA before committing to Msg2 allocation 2024-04-04 18:54:04 +02:00
Robert Schmidt 876b2ce8f6 Refactor Msg3 TDA selection in own function 2024-04-04 18:54:04 +02:00
Robert Schmidt defc97ec16 check Msg2 allocation frame/slot in DL scheduler
Move decision of Msg2 allocation time instant from instance we receive
RA indication (only containing preamble time information) to actual RA
scheduler (containing current DL slot time). This has the advantage:

- if Msg2 cannot be sent, we might try in a later slot
- no timing-based problems were a RACH.indication FAPI message might
  come late, we calculate a Msg2 frame/slot, but this instant has
  already passed in the DL scheduler
- no assumption about slot_ahead (an L1 constant)

The previous code calculated and verified an SSB index; I am not sure
this code is correct or used. I leave the function
ssb_index_from_prach() (hence the gcc attribute), but remove any checks.
Similarly, the beam association list might be wrong. I deleted the
corresponding code.
2024-04-04 18:54:04 +02:00
Robert Schmidt 8d37fde91f Refactor: store Msg.1 parameters in RA process
- the preamble is needed to detect when we are outside of the RA window,
  so store it
- store the rest of Msg1 variables together in struct
2024-04-04 18:54:04 +02:00
Robert Schmidt 7364d9bde7 Move find_monitoring_periodicity_offset_common() to RA file 2024-04-04 18:54:04 +02:00
Robert Schmidt 7873292f28 Reduce indentation in nr_generate_msg2(): no functional changes 2024-04-04 18:54:04 +02:00
Robert Schmidt 205cc66546 Refactor former find_nr_RA_id() to static function 2024-04-04 18:54:04 +02:00
Robert Schmidt 8f747d7aa2 Simplify nr_initiate_ra_proc()
- create function to find free RA process
- reorganize function to put Msg1 related processing first, Msg2 second
2024-04-04 18:54:04 +02:00
Robert Schmidt 6658eb28f0 Simplify nr_clear_ra_proc() 2024-04-04 18:54:04 +02:00
Robert Schmidt 3289189a2d Fix: Configure TDD beam association only in FR2; set to NULL otherwise
Before this commit, there was data that was not initialized, resulting
in Msg2 remaining unscheduled.
2024-04-04 18:53:33 +02:00
Jaroslava Fiedlerova 141558b812 Merge remote-tracking branch 'origin/nr-pdcp-minor-fixes' into integration_2024_w13 2024-04-02 18:16:33 +02:00
Jaroslava Fiedlerova 08b8071091 Merge remote-tracking branch 'origin/NR_RLC_UE_ID' into integration_2024_w13 2024-04-02 18:15:51 +02:00
Jaroslava Fiedlerova ded3618f70 Merge remote-tracking branch 'origin/NR_UE_fix_wrong_use_asn_sequence_del' into integration_2024_w13 2024-04-02 11:36:43 +02:00
Jaroslava Fiedlerova 3e9f1beea0 Merge remote-tracking branch 'origin/fix-f1-id-ues' into integration_2024_w13 2024-04-02 11:33:12 +02:00
Jaroslava Fiedlerova 87db25a3bb Merge remote-tracking branch 'origin/Fix_Msg3_RRCReestablishmentComplete_with_C-RNTI' into integration_2024_w13 2024-03-29 20:44:11 +01:00
Jaroslava Fiedlerova 87d14c3cd4 Merge remote-tracking branch 'origin/NR_prevent_segfault_at_detach' into integration_2024_w13 2024-03-29 17:02:45 +01:00
Jaroslava Fiedlerova c92650003f Merge remote-tracking branch 'origin/NR_4_layers_MIMO' into integration_2024_w13 2024-03-29 16:06:14 +01:00
Guido Casati 914e71fdab Flag RBs as suspended in PDCP
- this prevents pulling PDUs from PDCP when re-establishment is awaiting
2024-03-28 18:28:16 +01:00
Guido Casati f7a285cfc1 Define for PDCP Formats
- short and long SN sizes
- PDCP PDU header sizes
- PDCP integrity size
- getter for maximim PDCP PDU size
2024-03-28 18:28:11 +01:00
francescomani e77a1468d7 use UE ID instead of RNTI internally in RLC 2024-03-28 16:39:51 +01:00
francescomani 4a3beb0b48 fix usage of asn_sequence_del to clear a list 2024-03-28 13:50:11 +01:00
luis_pereira87 bbb1832c07 Handle Msg3 with SRB1 RRCReestablishmentComplete and MAC CE C-RNTI
From 3GPP TS 38.321 Section 5.4.3 Multiplexing and assembly, we need to process the highest priority subPDUs first:
- MAC CE for C-RNTI is the one with higher priority
2024-03-28 11:39:07 +00:00
Robert Schmidt 1e8f194d11 Only release UE in PDCP if in E1
Explanations: see #706. TLDR: the RRC code calls nr_pdcp_remove_ue(), so
we should not call it in the E1 handler if we do not use split mode.
2024-03-28 08:55:11 +01:00
francescomani 6e9dd015f6 DCI formats 11 and 01 assume the presence of an active BWP, if not present return with an error to prevent segfault 2024-03-27 09:36:19 +01:00
Robert Schmidt 0ecd346b07 Merge remote-tracking branch 'origin/NR_UE_data_scrambling_fix' into integration_2024_w12 2024-03-26 10:41:25 +01:00
francescomani f2c8305496 further improvements in precoding initialization at MAC 2024-03-25 16:01:09 +01:00
francescomani afde7f6c51 improvements in precoding initialization at MAC 2024-03-25 13:09:31 +01:00
Robert Schmidt eaff52f8e8 Merge remote-tracking branch 'origin/NR_UE_MAC_UL_improvements' into integration_2024_w12 2024-03-23 10:21:32 +01:00
Robert Schmidt 19092a5d15 Merge remote-tracking branch 'origin/phy-test-remove-mac-error-log' into integration_2024_w12 2024-03-22 16:35:16 +01:00
Romain Beurdouche 6cf2ab2a15 feat(phy-test): disable CQI and RSRP evaluation when running in phy-test mode
In phy-test, the scheduler has a hardcoded UE allocation; if CQI and RSRP
are not evaluated, there is no change in the scheduler function. Also,
this avoids misleading error messages if no UE is connected.
2024-03-22 15:02:10 +01:00
francescomani 91e5d80002 correct use of dataScramblingID for PUSCH at UE 2024-03-22 11:08:19 +01:00
francescomani 4f884db3d6 correct use of dataScramblingID for PDSCH at UE 2024-03-22 09:48:13 +01:00
francescomani c090b1f767 further improvements in BSR handling after being triggered 2024-03-22 09:13:01 +01:00
francescomani 310f62604c improvements in periodicBSR_Timer implementation 2024-03-22 09:13:01 +01:00
francescomani e60af1c8f6 improvements in retxBSR_Timer implementation 2024-03-22 09:13:01 +01:00
francescomani 04ac336c80 improvements in function to update BSR status 2024-03-22 09:13:01 +01:00
francescomani 5df946fab6 improvements in Bj computation and implementing a timer to compute time elapsed since last Bj update 2024-03-22 09:12:48 +01:00
Robert Schmidt 93d8e02c31 Merge remote-tracking branch 'origin/Multi_UE_support_for_32' into integration_2024_w12 2024-03-22 08:31:11 +01:00
francescomani 8f858af876 improvements for 4-layer MIMO at gNB 2024-03-21 18:22:25 +01:00
vijay chadachan 5697f396f6 Adjusted the num_dl_sched > 3 while adapting DL MCS for DL grants
- The DL MCS adapted based on the BLER for the minimum number of
DL(numd_sched) grants for the UE in the pre_configured number of frames.
The current threshold value is set to be >9 for 16 UE capacity.
- With increased number of UE to 32 and when all the UEs are DL data active
the num_dl_sched is not meeting the threshold value. Due to whcih the MCS
of all the UEs are stuck with MCS 10-12 in good channel condition.
- The threshold value is adjusted to support 32 UE capacity increase.
2024-03-21 09:13:26 +01:00
vijay chadachan 740bec4ac0 Fix max_sched_ues in DL/UL Scheduler to match MAX_DCI_CORESET
- Added the limit as MAX_DCI_CORESET for max_sched_ues in DL/UL scheduler.
This is needed because gNB crashes when tested with 100MHz cell as the
scheduler tries to schedule 11 UEs in a slot and the DCI informaiton is
corrupted due to the limitation in NFAPI interface because of
MAX_DCI_CORESET size.
2024-03-21 09:13:26 +01:00
vijay chadachan 2b37edaa3c Additional memory allocation for MAC stats logging to enable 32 UE support
The memory allocation is increased to enable the periodic mac stats logging
to enable increased number of UEs data.
2024-03-21 09:13:22 +01:00
francescomani ab2a08fd43 functions to map LCID to structures in the UE MAC 2024-03-19 16:07:58 +01:00
francescomani 1fa6be2a3d fix procedure after T300 expiry 2024-03-19 09:55:05 +01:00
Robert Schmidt a9123e68fc Merge remote-tracking branch 'origin/fix-4G-5G-ra-state-confusion' into integration_2024_w11 2024-03-18 10:17:36 +01:00
Robert Schmidt bc9f95c972 Merge remote-tracking branch 'origin/fixes-gtp-f1' into integration_2024_w11 2024-03-18 09:41:07 +01:00
Laurent THOMAS b97c70fd87 remove 5G dependency on 4G mac.h include, separate RA state enums between 4G/5G and UE/gNB
add RA stat trace by enum name instead of integer printing

fix minor a few minor typos
2024-03-15 10:55:11 +01:00
Robert Schmidt 2fbb41ddc5 Move GTP UE ID update out of message decoder 2024-03-15 09:51:13 +01:00
Robert Schmidt a645e10ff5 F1AP: message encoders should no trigger GTP
The F1AP message encoders and decoders should do only that, encoding and
decoding messages. For the actual logic handling, including set up and
teardown of bearers, we should use the handlers.

In this commit, delete GTP tunnel handling from encoders/decoders. For
the CU, this happens already in the CU-UP/E1 handlers in
cucp_cuup_handler.c.  For the DU, add it in the handlers in
mac_rrc_dl_handler.c.
2024-03-15 09:51:13 +01:00