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).
fixes the overflow issue in the PUCCH2 RX with 4+ RX antennas and 12+
bits (polar code format). The fix scales the polar decoding LLR
computation according to the number of RX antennas. The issue was clear
for 100 MHz 4 RX antennas. Even
nr_pucchsim -s -5 -q 8 -P 2 -b 12 -R 273 -z4 -n1000
doesn't converge to 0 BLER with increasing SNR. The issue didn't appear
in CI because of the bandwidth and antenna count limitations.
- docker on CI machine avra was updated to version 26.0.0, which reports
parameter "version" as obsolete
- this additional log causes fail of the container undeployment to stage
We observe these asserts while running concurrent UL traffic on many
UEs:
Assertion (crc->rnti == rx->rnti) failed!
In handle_nr_ulsch() ../../../openair2/NR_PHY_INTERFACE/NR_IF_Module.c:193
mis-match between CRC RNTI 7221 and RX RNTI 35cf
CRC and RX indication need to be pairwise for one UE, when here we have
each for different UE. However, investigation seemed to indicate that
both arrays for CRC and RX indication contained only one PDU; it seemed
the RNTI changed while writing the CRC/RX.indication messages in
nr_fill_indication().
In this patch, we change the logic to mark a ULSCH free AFTER calling
nr_fill_indication(). It is difficult to say if this makes the assertion
disappear, but preliminary tests did not exhibit the same failure
states.
Closes#773
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.
Add an API to allow out-of-order writes to a radio interface, unlike the
current interface.
this function is called in UE in this commit, even if the tx might
still be in order.
Later, i plan to improve UE pulti-threading, that will lead to out of
order tx. also, the gNB will benefit of this new function to replace
several specific pieces of code that reorder tx with over complex and
slow systems