[eNb] issue with retransmission
USRP oai eNb running on develop Commit 8031eaa0 USRP oai UE running on develop1B commit de98c17e
UE is runing top of develop1B + additionnal printf to show the issue :
In file dci_tools.c at line around 4477
// this a retransmission
if(dlsch0_harq->round)
{
// compare old TBS to new TBS
if(dlsch0_harq->TBS != TBStable[get_I_TBS(mcs)][NPRB-1])
{
// this is an eNB issue
// retransmisison but old and new TBS are different !!!
// work around, consider it as a new transmission
LOG_E(PHY,"Format1 Retransmission but TBS are different: old TBS : %d, new TBS : %d \n", dlsch0_harq->TBS,TBStable[get_I_TBS(mcs)][NPRB-1]);
LOG_E(PHY,"Format1 Retransmission but TBS are different: consider it as new transmission !!! \n");
dlsch0_harq->round = 0;
}
}
LOG_I(PHY,"Format1 UE (%x/%d) frame %d, subframe %d MCS %d, NPRB %d, TBS %d,\n",
dlsch[0]->rnti,harq_pid,frame,subframe,mcs,NPRB,TBStable[get_I_TBS(mcs)][NPRB-1]);
As per the log (see full log UE1.log) we are seeing that the eNB is trying to send a packet with dlsch0_harq->round = 1 (retransmission) when it shouldn't, see for instance the pid 7 : At FN 4190 , SFN 8, we are receiving a packet with TBS 456. The next packet received for pid 7 is a retransmission as dlsch0_harq->round = 1, it arrives at FN 6079, SFN 9 and the TBS is 1800.
So the problem here is that the eNB is setting this data as a retransmission but the TBS is different. So we think this is a new transmission that's why we have added this patch in the UE (see Commit 68bcfd64 in develop1B) to avoid a segmentation fault in the turbo decoder.
Now the UE is more robust again this case but this should be corrected at eNB side.
(extract from the log )
[0m[PHY][I][generate_ue_dlsch_params_from_dci] Format1 UE (85c8/7) frame 4139, subframe 6 MCS 17, NPRB 7, TBS 2152, [PHY][I][generate_ue_dlsch_params_from_dci] Format1 UE (85c8/7) frame 4190, subframe 8 MCS 0, NPRB 17, TBS 456, [1;31m[PHY][E][dlsch_decoding] Illegal harq_process->C 7807 > 4 [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format 1A: rb_alloc > RIV_max [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format 1A: harq_pid > 1 [0m[1;31m[PHY][E][ue_pdcch_procedures] [UE 0] Frame 5628, subframe 2: Problem in DCI! [0m[PHY][I][generate_ue_dlsch_params_from_dci] Format1 UE (85c8/1) frame 5892, subframe 2 MCS 28, NPRB 12, TBS 8760, [1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: old TBS : 456, new TBS : 1800 [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: consider it as new transmission !!! [0m[PHY][I][generate_ue_dlsch_params_from_dci] Format1 UE (85c8/7) frame 6079, subframe 9 MCS 8, NPRB 13, TBS 1800, [1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format 1A: harq_pid > 1 [0m[1;31m[PHY][E][ue_pdcch_procedures] [UE 0] Frame 6697, subframe 6: Problem in DCI! [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: old TBS : 456, new TBS : 4008 [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: consider it as new transmission !!! [0m[PHY][I][generate_ue_dlsch_params_from_dci] Format1 UE (85c8/6) frame 7283, subframe 1 MCS 23, NPRB 8, TBS 4008, [1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: old TBS : 1800, new TBS : 616 [0m[1;31m[PHY][E][generate_ue_dlsch_params_from_dci] Format1 Retransmission but TBS are different: consider it as new transmission !!!