Robert Schmidt
e3747ab592
Check if Msg3 start&length can be accommodated in mixed slot
...
Prior to this commit, it might happen that the gNB used TDA 0 (Start 0
len 13) for mixed slot, in which case the UE could not send msg3
(because a mixed slot has less than 13 symbols).
2024-04-08 17:30:37 +02:00
Robert Schmidt
e6e25275ed
Bugfix: make preamble_list an array
...
- It is only a couple of bytes
- It hid a bug: if two preambles, L1_nr_prach_procedures() overwrote the
preamble of the first with the second one
2024-04-04 18:55:53 +02:00
Robert Schmidt
0f1f76878e
NRUE: print RA RNTI when receiving RAPID
2024-04-04 18:55:53 +02:00
Robert Schmidt
0e2c9e8ebb
Do not reduce RACH.ind count in loop
...
if we reduce, we will never do all rach indications. Go one-by-one
instead.
2024-04-04 18:55:53 +02:00
Robert Schmidt
0716d1d6c0
gNB: Msg2: print used RAPID
2024-04-04 18:55:53 +02:00
Robert Schmidt
b63762f9fe
Improve RA logs
2024-04-04 18:55:53 +02:00
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
c5bc442410
Merge remote-tracking branch 'origin/better-log-ue-sync' into integration_2024_w13
2024-03-29 16:08:38 +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
e0b31be148
Request release for UEs if DU disconnects
...
38.473 section 8.2.3.1 says that upon F1 Setup Request, UE associated
signalling should be erased. In this commit, we trigger a release of all
UEs that were still connected to a DU when we received the SCTP
shutdown, i.e., when the DU disconnects.
2024-03-28 08:55:11 +01:00
Robert Schmidt
e5e48bb2d8
RRC: take last UE activity time stamps
2024-03-28 08:55:11 +01:00
Robert Schmidt
d9abf18dab
Check If UE ID exists when handling CU RRC message transfer
...
Closes #762
2024-03-28 08:55:11 +01: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
Laurent THOMAS
a95dffc80e
delete dead files
2024-03-26 20:57:31 +01:00
Laurent THOMAS
80d4d600f3
print the mib when decoded
2024-03-26 20:57:31 +01:00
Robert Schmidt
4c07dca3bd
Merge remote-tracking branch 'origin/kpm-rc-cleanup' into integration_2024_w12
2024-03-26 10:56:24 +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
Teodora
7535e99944
E2AP README & FlexRIC commit ID update
2024-03-25 18:13:01 +01:00
francescomani
f2c8305496
further improvements in precoding initialization at MAC
2024-03-25 16:01:09 +01:00
Teodora
7bfa2d71f4
E2SM cmake update
...
- hardcoded data for E2 Setup Request; fill_rnd_data_e2_setup_req.c dependancy taken
out
2024-03-25 15:08:39 +01:00
Teodora
6a0e636f00
RAN Control cleanup
...
- RAN Function Definition implemented
- use mutual E2SM UE ID file
- write_ctrl_rc_sm function cleanup
2024-03-25 15:08:39 +01:00
Teodora
ba003cc649
KPM cleanup
...
- RAN Function Definition implemented
- ran_func_kpm.c - use function pointers based on the matching condition,
and node type
- ran_func_kpm_subs.h/c - for measurement collection within
MAC/RLC/PDCP layers; for CU-UP node only PDCP included (otherwise,
we would get undefined reference to MAC/RLC)
- use mutual E2SM UE ID file
2024-03-25 15:08:28 +01:00
Teodora
fc4c4fc599
Add mutual O-RAN E2SM UE ID filling info
2024-03-25 13:10:44 +01:00
francescomani
afde7f6c51
improvements in precoding initialization at MAC
2024-03-25 13:09:31 +01:00
Robert Schmidt
c45fb43110
Fix: handle CU-to-DU info in UE Ctxt setup Req
2024-03-23 10:21:41 +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