Merge branch 'bugfix-183-LOG_X-format' into develop_integration_w02
This commit is contained in:
@@ -71,7 +71,5 @@ typedef struct {
|
||||
#define INSTANCE_DEFAULT (UINT16_MAX - 1)
|
||||
#define INSTANCE_ALL (UINT16_MAX)
|
||||
|
||||
typedef uint16_t instance_t;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ void phy_config_sib2_eNB(uint8_t Mod_id,
|
||||
if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {
|
||||
fp->MBSFN_config[i].fourFrames_flag = 0;
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig = mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]; // 6-bit subframe configuration
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %ld\n", i,
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i,
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig);
|
||||
} else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration
|
||||
fp->MBSFN_config[i].fourFrames_flag = 1;
|
||||
@@ -220,7 +220,7 @@ void phy_config_sib2_eNB(uint8_t Mod_id,
|
||||
(mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[1]<<8)|
|
||||
(mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[2]<<16);
|
||||
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %ld\n", i,
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i,
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig);
|
||||
}
|
||||
}
|
||||
@@ -331,7 +331,7 @@ void phy_config_sib2_ue(uint8_t Mod_id,int CC_id,
|
||||
if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame) {
|
||||
fp->MBSFN_config[i].fourFrames_flag = 0;
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig = mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[0]; // 6-bit subframe configuration
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %ld\n", i,
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i,
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig);
|
||||
} else if (mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.present == MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames) { // 24-bit subframe configuration
|
||||
fp->MBSFN_config[i].fourFrames_flag = 1;
|
||||
@@ -340,7 +340,7 @@ void phy_config_sib2_ue(uint8_t Mod_id,int CC_id,
|
||||
(mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[1]<<8)|
|
||||
(mbsfn_SubframeConfigList->list.array[i]->subframeAllocation.choice.oneFrame.buf[2]<<16);
|
||||
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %ld\n", i,
|
||||
LOG_I(PHY, "[CONFIG] MBSFN_SubframeConfig[%d] pattern is %d\n", i,
|
||||
fp->MBSFN_config[i].mbsfn_SubframeConfig);
|
||||
}
|
||||
}
|
||||
@@ -357,7 +357,7 @@ void phy_config_sib13_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_Area_
|
||||
LTE_DL_FRAME_PARMS *fp = &PHY_vars_UE_g[Mod_id][CC_id]->frame_parms;
|
||||
|
||||
|
||||
LOG_I(PHY,"[UE%d] Applying MBSFN_Area_id %d for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx);
|
||||
LOG_I(PHY,"[UE%d] Applying MBSFN_Area_id %ld for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx);
|
||||
|
||||
if (mbsfn_Area_idx == 0) {
|
||||
fp->Nid_cell_mbsfn = (uint16_t)mbsfn_AreaId_r9;
|
||||
@@ -376,7 +376,7 @@ void phy_config_sib13_eNB(uint8_t Mod_id,int CC_id,int mbsfn_Area_idx,
|
||||
LTE_DL_FRAME_PARMS *fp = &PHY_vars_eNB_g[Mod_id][CC_id]->frame_parms;
|
||||
|
||||
|
||||
LOG_I(PHY,"[eNB%d] Applying MBSFN_Area_id %d for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx);
|
||||
LOG_I(PHY,"[eNB%d] Applying MBSFN_Area_id %ld for index %d\n",Mod_id,mbsfn_AreaId_r9,mbsfn_Area_idx);
|
||||
|
||||
if (mbsfn_Area_idx == 0) {
|
||||
fp->Nid_cell_mbsfn = (uint16_t)mbsfn_AreaId_r9;
|
||||
@@ -398,7 +398,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
|
||||
physicalConfigDedicated = eNB->physicalConfigDedicated[UE_id];
|
||||
|
||||
if (physicalConfigDedicated != NULL) {
|
||||
LOG_I(PHY,"[eNB %d] Frame %d: Sent physicalConfigDedicated=%p for UE %d\n",eNB->Mod_id,physicalConfigDedicated,UE_id);
|
||||
LOG_I(PHY,"[eNB %d] Sent physicalConfigDedicated=%p for UE %d\n",eNB->Mod_id,physicalConfigDedicated,UE_id);
|
||||
LOG_D(PHY,"------------------------------------------------------------------------\n");
|
||||
|
||||
if (physicalConfigDedicated->pdsch_ConfigDedicated) {
|
||||
@@ -653,7 +653,7 @@ void phy_config_dedicated_eNB(uint8_t Mod_id,
|
||||
int8_t UE_id = find_ue(rnti,eNB);
|
||||
|
||||
if (UE_id == -1) {
|
||||
LOG_E( PHY, "[eNB %"PRIu8"] find_ue() returns -1\n");
|
||||
LOG_E( PHY, "[eNB %"PRIu8"] find_ue() returns -1\n", Mod_id);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -725,13 +725,13 @@ void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
|
||||
|
||||
if ((dl_CarrierFreq_r10>=36000) && (dl_CarrierFreq_r10<=36199)) {
|
||||
carrier_freq_local = 1900000000 + (dl_CarrierFreq_r10-36000)*100000; //band 33 from 3GPP 36.101 v 10.9 Table 5.7.3-1
|
||||
LOG_I(PHY,"[eNB %d] Frame %d: Configured SCell %d to frequency %d (ARFCN %d) for UE %d\n",Mod_id,/*eNB->frame*/0,CC_id,carrier_freq_local,dl_CarrierFreq_r10,UE_id);
|
||||
LOG_I(PHY,"[eNB %d] Frame %d: Configured SCell %d to frequency %d (ARFCN %ld) for UE %d\n",Mod_id,/*eNB->frame*/0,CC_id,carrier_freq_local,dl_CarrierFreq_r10,UE_id);
|
||||
} else if ((dl_CarrierFreq_r10>=6150) && (dl_CarrierFreq_r10<=6449)) {
|
||||
carrier_freq_local = 832000000 + (dl_CarrierFreq_r10-6150)*100000; //band 20 from 3GPP 36.101 v 10.9 Table 5.7.3-1
|
||||
// this is actually for the UL only, but we use it for DL too, since there is no TDD mode for this band
|
||||
LOG_I(PHY,"[eNB %d] Frame %d: Configured SCell %d to frequency %d (ARFCN %d) for UE %d\n",Mod_id,/*eNB->frame*/0,CC_id,carrier_freq_local,dl_CarrierFreq_r10,UE_id);
|
||||
LOG_I(PHY,"[eNB %d] Frame %d: Configured SCell %d to frequency %d (ARFCN %ld) for UE %d\n",Mod_id,/*eNB->frame*/0,CC_id,carrier_freq_local,dl_CarrierFreq_r10,UE_id);
|
||||
} else {
|
||||
LOG_E(PHY,"[eNB %d] Frame %d: ARFCN %d of SCell %d for UE %d not supported\n",Mod_id,/*eNB->frame*/0,dl_CarrierFreq_r10,CC_id,UE_id);
|
||||
LOG_E(PHY,"[eNB %d] Frame %d: ARFCN %ld of SCell %d for UE %d not supported\n",Mod_id,/*eNB->frame*/0,dl_CarrierFreq_r10,CC_id,UE_id);
|
||||
}
|
||||
|
||||
if (physicalConfigDedicatedSCell_r10) {
|
||||
|
||||
@@ -1329,7 +1329,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2_1_5MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1380,7 +1380,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2_5MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1431,7 +1431,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2_10MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1482,7 +1482,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2_20MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2 DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1687,7 +1687,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2A_1_5MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1736,7 +1736,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2A_5MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1785,7 +1785,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2A_10MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -1834,7 +1834,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
||||
tpmi = ((DCI2A_20MHz_4A_FDD_t *)dci_pdu)->tpmi;
|
||||
}
|
||||
} else {
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",frame_parms->nb_antennas_tx);
|
||||
LOG_E(PHY,"eNB: subframe %d UE %x, Format2A DCI: unsupported number of TX antennas %d\n",subframe,rnti,frame_parms->nb_antennas_tx);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -3115,7 +3115,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
if (frame_parms->nb_antennas_tx == 2) {
|
||||
switch(frame_parms->N_RB_DL) {
|
||||
case 6:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_1_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rballoc,
|
||||
@@ -3134,7 +3134,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3153,7 +3153,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3172,7 +3172,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3198,7 +3198,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
} else if (frame_parms->nb_antennas_tx == 4) {
|
||||
switch(frame_parms->N_RB_DL) {
|
||||
case 6:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 1.5 MHz), rnti %x (%x): rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc,
|
||||
@@ -3217,7 +3217,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3236,7 +3236,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3255,7 +3255,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (TDD 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, TPC %d, dai %d, tb_swap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3300,7 +3300,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3318,7 +3318,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3336,7 +3336,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 2 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3379,7 +3379,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 5 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3397,7 +3397,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 10 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3415,7 +3415,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d, harq_pid %d, ndi %d, RV %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2 4 antennas (FDD, 20 MHz), rnti %x (%x): rah %d, rb_alloc %x, mcs %d|%d, harq_pid %d, ndi %d|%d, RV %d|%d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint32_t*)&dci->dci_pdu)[0],
|
||||
((DCI2_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3470,7 +3470,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_5MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3488,7 +3488,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 10 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_10MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3506,7 +3506,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 20 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_20MHz_2A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3531,7 +3531,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
} else if (frame_parms->nb_antenna_ports_eNB == 4) {
|
||||
switch(frame_parms->N_RB_DL) {
|
||||
case 6:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 1.5 MHz), rnti %x (%llx): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 1.5 MHz), rnti %x (%"PRIu64"): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_1_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rballoc,
|
||||
@@ -3550,7 +3550,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_5MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3569,7 +3569,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 10 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_10MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3588,7 +3588,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 20 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (TDD 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, TPC %d, dai %d, tbswap %d, tpmi %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_20MHz_4A_TDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3632,7 +3632,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_5MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3649,7 +3649,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 10 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 10 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_10MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3666,7 +3666,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 20 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 2 antennas (FDD, 20 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_20MHz_2A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3691,7 +3691,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
switch(frame_parms->N_RB_DL) {
|
||||
|
||||
case 6:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 1.5 MHz), rnti %x (%llx): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 1.5 MHz), rnti %x (%"PRIu64"): rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_1_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rballoc,
|
||||
@@ -3708,7 +3708,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 25:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_5MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3726,7 +3726,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 50:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_10MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -3744,7 +3744,7 @@ int dump_dci(LTE_DL_FRAME_PARMS *frame_parms, DCI_ALLOC_t *dci)
|
||||
break;
|
||||
|
||||
case 100:
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%llx): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
LOG_D(PHY,"DCI format2A 4 antennas (FDD, 5 MHz), rnti %x (%"PRIu64"): rah %d, rb_alloc %x, mcs1 %d, mcs2 %d, harq_pid %d, ndi1 %d, ndi2 %d, RV1 %d, RV2 %d, tb_swap %d, tpmi %d, TPC %d\n",
|
||||
dci->rnti,
|
||||
((uint64_t*)&dci->dci_pdu)[0],
|
||||
((DCI2A_20MHz_4A_FDD_t *)&dci->dci_pdu[0])->rah,
|
||||
@@ -4529,7 +4529,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
|
||||
|
||||
dlsch[0]->harq_ack[subframe].send_harq_status = 1;
|
||||
if (dlsch0_harq->first_tx==1) {
|
||||
LOG_D(PHY,"[PDSCH %x/%d] Format 1 DCI First TX: Clearing flag\n");
|
||||
LOG_D(PHY,"[PDSCH %x/%d] Format 1 DCI First TX: Clearing flag\n",rnti,harq_pid);
|
||||
dlsch0_harq->first_tx = 0;
|
||||
}
|
||||
}
|
||||
@@ -5288,7 +5288,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
|
||||
dlsch0_harq->DCINdi = ndi1;
|
||||
|
||||
if (dlsch0_harq->first_tx==1) {
|
||||
LOG_D(PHY,"[PDSCH %x/%d] Format 2A DCI First TX0: Clearing flag\n");
|
||||
LOG_D(PHY,"[PDSCH %x/%d] Format 2A DCI First TX0: Clearing flag\n",rnti,harq_pid);
|
||||
dlsch0_harq->first_tx = 0;
|
||||
}
|
||||
} else if (dlsch0_harq->status == SCH_IDLE) { // we got an Ndi = 0 for a previously decoded process,
|
||||
|
||||
@@ -118,7 +118,6 @@ LTE_eNB_DLSCH_t *new_eNB_dlsch(unsigned char Kmimo,unsigned char Mdlharq,uint32_
|
||||
unsigned char exit_flag = 0,i,j,r,aa,layer;
|
||||
int re;
|
||||
unsigned char bw_scaling =1;
|
||||
uint8_t nb_antennas_tx = frame_parms->nb_antennas_tx;
|
||||
|
||||
switch (N_RB_DL) {
|
||||
case 6:
|
||||
|
||||
@@ -121,7 +121,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(PHY,"[UE %d][FATAL] Frame %d subframe %d: Unknown PDSCH format %d\n",ue->proc.proc_rxtx[0].frame_rx,subframe,type);
|
||||
LOG_E(PHY,"[UE][FATAL] Frame %d subframe %d: Unknown PDSCH format %d\n",ue->proc.proc_rxtx[0].frame_rx,subframe,type);
|
||||
return(-1);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
|
||||
|
||||
int use2ndpilots = (frame_parms->mode1_flag==1)?1:0;
|
||||
|
||||
uint32_t tti_offset,aa;
|
||||
uint32_t tti_offset; //,aa;
|
||||
uint8_t re;
|
||||
uint8_t qam64_table_offset_re = 0;
|
||||
uint8_t qam64_table_offset_im = 0;
|
||||
|
||||
@@ -1393,7 +1393,7 @@ void rx_phich(PHY_VARS_UE *ue,
|
||||
}
|
||||
} else {
|
||||
//#ifdef DEBUG_PHICH
|
||||
LOG_D(PHY,"[UE %d][PUSCH %d] Frame %d subframe %d PHICH, received NAK (%d) nseq %d, ngroup %d\n",
|
||||
LOG_D(PHY,"[UE %d][PUSCH %d] Frame %d subframe %d PHICH, received NAK (%d) nseq %d, ngroup %d (Mlimit %d)\n",
|
||||
ue->Mod_id,harq_pid,
|
||||
proc->frame_rx,
|
||||
subframe,
|
||||
|
||||
@@ -555,6 +555,7 @@ void generate_pucch2x(int32_t **txdataF,
|
||||
N_UL_symb = (fp->Ncp==0) ? 7 : 6;
|
||||
data_ind = 0;
|
||||
zptr = z;
|
||||
nprime = 0;
|
||||
for (ns=(subframe<<1),u=u0,v=v0; ns<(2+(subframe<<1)); ns++,u=u1,v=v1) {
|
||||
|
||||
if ((ns&1) == 0)
|
||||
|
||||
@@ -190,7 +190,7 @@ LTE_UE_ULSCH_t *new_ue_ulsch(unsigned char N_RB_UL, uint8_t abstraction_flag)
|
||||
return(ulsch);
|
||||
}
|
||||
|
||||
LOG_E(PHY,"new_ue_ulsch exit flag, size of %d , %d\n",exit_flag, sizeof(LTE_UE_ULSCH_t));
|
||||
LOG_E(PHY,"new_ue_ulsch exit flag, size of %d , %zu\n",exit_flag, sizeof(LTE_UE_ULSCH_t));
|
||||
free_ue_ulsch(ulsch);
|
||||
return(NULL);
|
||||
|
||||
@@ -234,7 +234,7 @@ uint32_t ulsch_encoding(uint8_t *a,
|
||||
PHY_MEASUREMENTS *meas = &ue->measurements;
|
||||
LTE_UE_ULSCH_t *ulsch=ue->ulsch[eNB_id];
|
||||
LTE_UE_DLSCH_t **dlsch = ue->dlsch[eNB_id];
|
||||
uint16_t rnti;
|
||||
uint16_t rnti = 0xffff;
|
||||
|
||||
if (!ulsch) {
|
||||
LOG_E(PHY,"Null ulsch ptr %p\n",ulsch);
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include "PHY/impl_defs_lte.h"
|
||||
|
||||
int f_read(char *calibF_fname, int nb_ant, int nb_freq, int32_t **tdd_calib_coeffs){
|
||||
|
||||
FILE *calibF_fd;
|
||||
int i,j,l,calibF_e;
|
||||
int i,j,calibF_e;
|
||||
|
||||
calibF_fd = fopen(calibF_fname,"r");
|
||||
|
||||
@@ -14,7 +15,7 @@ int f_read(char *calibF_fname, int nb_ant, int nb_freq, int32_t **tdd_calib_coef
|
||||
|
||||
for(i=0;i<nb_ant;i++){
|
||||
for(j=0;j<nb_freq*2;j++){
|
||||
fscanf(calibF_fd, "%d", &calibF_e);
|
||||
if (fscanf(calibF_fd, "%d", &calibF_e) != 1) abort();
|
||||
tdd_calib_coeffs[i][j] = (int16_t)calibF_e;
|
||||
}
|
||||
}
|
||||
@@ -22,11 +23,15 @@ int f_read(char *calibF_fname, int nb_ant, int nb_freq, int32_t **tdd_calib_coef
|
||||
printf("%d\n",(int)tdd_calib_coeffs[1][599]);
|
||||
} else
|
||||
printf("%s not found, running with defaults\n",calibF_fname);
|
||||
/* TODO: what to return? is this code used at all? */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int estimate_DLCSI_from_ULCSI(int32_t **calib_dl_ch_estimates, int32_t **ul_ch_estimates, int32_t **tdd_calib_coeffs, int nb_ant, int nb_freq) {
|
||||
|
||||
/* TODO: what to return? is this code used at all? */
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
@@ -44,6 +49,8 @@ int compute_BF_weights(int32_t **beam_weights, int32_t **calib_dl_ch_estimates,
|
||||
default :
|
||||
break;
|
||||
}
|
||||
/* TODO: what to return? is this code used at all? */
|
||||
return 0;
|
||||
}
|
||||
|
||||
// temporal test function
|
||||
|
||||
@@ -124,7 +124,6 @@ static inline void* malloc16_clear( size_t size )
|
||||
#include "PHY/TOOLS/defs.h"
|
||||
#include "platform_types.h"
|
||||
|
||||
#define OPENAIR_LTE
|
||||
#ifdef OPENAIR_LTE
|
||||
|
||||
#include "PHY/LTE_TRANSPORT/defs.h"
|
||||
|
||||
@@ -788,7 +788,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
|
||||
|
||||
eNB->dlsch[(uint8_t)UE_id][0]->nCCE[subframe] = dci_alloc->firstCCE;
|
||||
|
||||
LOG_D(PHY,"[eNB %"PRIu8"] Frame %d subframe %d : CCE resource for ue DCI (PDSCH %"PRIx16") => %"PRIu8"/%u\n",eNB->Mod_id,frame,subframe,
|
||||
LOG_D(PHY,"[eNB %"PRIu8"] Frame %d subframe %d : CCE resource for ue DCI (PDSCH %"PRIx16") => %"PRIu8"\n",eNB->Mod_id,frame,subframe,
|
||||
dci_alloc->rnti,eNB->dlsch[(uint8_t)UE_id][0]->nCCE[subframe]);
|
||||
|
||||
#if defined(SMBV)
|
||||
@@ -900,7 +900,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,LTE_eNB_DLSCH_t *d
|
||||
int i;
|
||||
|
||||
LOG_D(PHY,
|
||||
"[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", G %d, nb_rb %"PRIu16", mcs %"PRIu8", pmi_alloc %"PRIx16", rv %"PRIu8" (round %"PRIu8")\n",
|
||||
"[eNB %"PRIu8"][PDSCH %"PRIx16"/%"PRIu8"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", G %d, nb_rb %"PRIu16", mcs %"PRIu8", pmi_alloc %"PRIx64", rv %"PRIu8" (round %"PRIu8")\n",
|
||||
eNB->Mod_id, dlsch->rnti,harq_pid,
|
||||
frame, subframe, input_buffer_length,
|
||||
get_G(fp,
|
||||
@@ -2784,7 +2784,7 @@ void do_prach(PHY_VARS_eNB *eNB) {
|
||||
|
||||
// wake up thread for PRACH RX
|
||||
if (pthread_mutex_lock(&proc->mutex_prach) != 0) {
|
||||
LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB PRACH thread %d (IC %d)\n", proc->instance_cnt_prach );
|
||||
LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB PRACH thread %d (IC %d)\n", proc->thread_index, proc->instance_cnt_prach);
|
||||
exit_fun( "error locking mutex_prach" );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -346,7 +346,9 @@ void process_timing_advance_rar(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint16_t ti
|
||||
|
||||
|
||||
#ifdef DEBUG_PHY_PROC
|
||||
LOG_I(PHY,"[UE %d] AbsoluteSubFrame %d.%d, received (rar) timing_advance %d, HW timing advance %d\n",ue->Mod_id,proc->frame_rx, proc->subframe_rx, ue->timing_advance);
|
||||
/* TODO: fix this log, what is 'HW timing advance'? */
|
||||
/*LOG_I(PHY,"[UE %d] AbsoluteSubFrame %d.%d, received (rar) timing_advance %d, HW timing advance %d\n",ue->Mod_id,proc->frame_rx, proc->subframe_rx, ue->timing_advance);*/
|
||||
LOG_I(PHY,"[UE %d] AbsoluteSubFrame %d.%d, received (rar) timing_advance %d\n",ue->Mod_id,proc->frame_rx, proc->subframe_rx, ue->timing_advance);
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -938,7 +940,7 @@ uint16_t get_n1_pucch(PHY_VARS_UE *ue,
|
||||
} // switch tdd_config
|
||||
}
|
||||
|
||||
LOG_E(PHY,"[UE%d] : Frame %d phy_procedures_lte.c: get_n1pucch, exit without proper return\n",proc->frame_tx);
|
||||
LOG_E(PHY,"[UE%d] : Frame %d phy_procedures_lte.c: get_n1pucch, exit without proper return\n", ue->Mod_id, proc->frame_tx);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@@ -1154,7 +1156,7 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
|
||||
frame_tx,
|
||||
eNB_id,
|
||||
subframe_tx);
|
||||
LOG_D(PHY,"Got prach_resources for eNB %d address %d, RRCCommon %d\n",eNB_id,ue->prach_resources[eNB_id],UE_mac_inst[ue->Mod_id].radioResourceConfigCommon);
|
||||
LOG_D(PHY,"Got prach_resources for eNB %d address %p, RRCCommon %p\n",eNB_id,ue->prach_resources[eNB_id],UE_mac_inst[ue->Mod_id].radioResourceConfigCommon);
|
||||
LOG_D(PHY,"Prach resources %p\n",ue->prach_resources[eNB_id]);
|
||||
}
|
||||
}
|
||||
@@ -1370,7 +1372,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
|
||||
LOG_D(PHY,"Generating PUSCH (Abssubframe: %d.%d): harq-Id: %d, round: %d, MaxReTrans: %d \n",frame_tx,subframe_tx,harq_pid,ue->ulsch[eNB_id]->harq_processes[harq_pid]->round,ue->ulsch[eNB_id]->Mlimit);
|
||||
if (ue->ulsch[eNB_id]->harq_processes[harq_pid]->round >= (ue->ulsch[eNB_id]->Mlimit - 1))
|
||||
{
|
||||
LOG_D(PHY,"PUSCH MAX Retransmission acheived ==> send last pusch (%d) \n");
|
||||
LOG_D(PHY,"PUSCH MAX Retransmission achieved ==> send last pusch\n");
|
||||
ue->ulsch[eNB_id]->harq_processes[harq_pid]->subframe_scheduling_flag = 0;
|
||||
ue->ulsch[eNB_id]->harq_processes[harq_pid]->round = 0;
|
||||
}
|
||||
@@ -1813,7 +1815,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
|
||||
T_INT(tx_amp),T_INT(ue->dlsch[eNB_id][0]->g_pucch),T_INT(get_PL(ue->Mod_id,ue->CC_id,eNB_id)));
|
||||
#endif
|
||||
if (SR_payload>0) {
|
||||
LOG_D(PHY,"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH %s payload %d,%d (with SR for PUSCH), an_srs_simultanous %d, shorten_pucch %d, n1_pucch %d, Po_PUCCH, amp %d\n",
|
||||
LOG_D(PHY,"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH %s payload %d,%d (with SR for PUSCH), an_srs_simultanous %d, shorten_pucch %d, n1_pucch %d, Po_PUCCH %d, amp %d\n",
|
||||
Mod_id,
|
||||
ue->dlsch[eNB_id][0]->rnti,
|
||||
frame_tx % 1024, subframe_tx,
|
||||
@@ -2056,7 +2058,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
|
||||
|
||||
|
||||
LTE_DL_FRAME_PARMS *frame_parms=&ue->frame_parms;
|
||||
int32_t ulsch_start=0;
|
||||
//int32_t ulsch_start=0;
|
||||
int subframe_tx = proc->subframe_tx;
|
||||
int frame_tx = proc->frame_tx;
|
||||
unsigned int aa;
|
||||
@@ -2571,7 +2573,7 @@ void ue_pbch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, uin
|
||||
|
||||
} else if (((frame_tx & 0x03FF) != (proc->frame_rx & 0x03FF))) {
|
||||
//(pbch_tx_ant != ue->frame_parms.nb_antennas_tx)) {
|
||||
LOG_D(PHY,"[UE %d] frame %d, subframe %d: Re-adjusting frame counter (PBCH ant_tx=%d, frame_rx=%d, frame%1024=%d, phase %d).\n",
|
||||
LOG_D(PHY,"[UE %d] frame %d, subframe %d: Re-adjusting frame counter (PBCH ant_tx=%d, frame_rx=%d, frame%%1024=%d, phase %d).\n",
|
||||
ue->Mod_id,
|
||||
proc->frame_rx,
|
||||
subframe_rx,
|
||||
@@ -3123,7 +3125,8 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
|
||||
ue->dlsch_mtch_errors[sync_area][0]++;
|
||||
|
||||
LOG_D(PHY,"[UE %d] Frame %d, subframe %d: PMCH in error (%d,%d), not passing to L2 (TBS %d, iter %d,G %d)\n",
|
||||
frame_rx,subframe_rx,
|
||||
ue->Mod_id,
|
||||
frame_rx,subframe_rx,
|
||||
ue->dlsch_mcch_errors[sync_area][0],
|
||||
ue->dlsch_mtch_errors[sync_area][0],
|
||||
ue->dlsch_MCH[0]->harq_processes[0]->TBS>>3,
|
||||
@@ -3185,7 +3188,7 @@ void ue_pdsch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, int eNB_id, PDSC
|
||||
|
||||
if (dlsch0 && (!dlsch1)) {
|
||||
harq_pid = dlsch0->current_harq_pid;
|
||||
LOG_D(PHY,"[UE %d] PDSCH active in subframe %d (%d), harq_pid %d\n",ue->Mod_id,subframe_rx,harq_pid);
|
||||
LOG_D(PHY,"[UE %d] PDSCH active in subframe %d, harq_pid %d\n",ue->Mod_id,subframe_rx,harq_pid);
|
||||
|
||||
if ((pdsch==PDSCH) &&
|
||||
(ue->transmission_mode[eNB_id] == 5) &&
|
||||
@@ -3574,7 +3577,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
|
||||
|
||||
|
||||
#ifdef DEBUG_PHY_PROC
|
||||
LOG_D(PHY,"[%s %d] Frame %d subframe %d: Doing phy_procedures_UE_RX (%d)\n",
|
||||
LOG_D(PHY,"[%s %d] Frame %d subframe %d: Doing phy_procedures_UE_RX\n",
|
||||
(r_type == multicast_relay) ? "RN/UE" : "UE",
|
||||
ue->Mod_id,frame_rx, subframe_rx);
|
||||
#endif
|
||||
|
||||
@@ -43,6 +43,13 @@ Description Contains global common definitions
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/* boolean_t is also defined in openair2/COMMON/platform_types.h
|
||||
* let's protect potential redefinition
|
||||
*/
|
||||
|
||||
#ifndef _BOOLEAN_T_DEFINED_
|
||||
#define _BOOLEAN_T_DEFINED_
|
||||
|
||||
typedef signed char boolean_t;
|
||||
|
||||
#if !defined(TRUE)
|
||||
@@ -55,6 +62,8 @@ typedef signed char boolean_t;
|
||||
|
||||
#define BOOL_NOT(b) (b^TRUE)
|
||||
|
||||
#endif /* _BOOLEAN_T_DEFINED_ */
|
||||
|
||||
#define NAS_UE_ID_FMT "0x%06x"
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -40,6 +40,13 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// GENERIC TYPES
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
/* boolean_t is also defined in openair2/COMMON/commonDef.h,
|
||||
* let's protect potential redefinition
|
||||
*/
|
||||
#ifndef _BOOLEAN_T_DEFINED_
|
||||
#define _BOOLEAN_T_DEFINED_
|
||||
|
||||
typedef signed char boolean_t;
|
||||
|
||||
#if !defined(TRUE)
|
||||
@@ -52,6 +59,8 @@ typedef signed char boolean_t;
|
||||
|
||||
#define BOOL_NOT(b) (b^TRUE)
|
||||
|
||||
#endif /* _BOOLEAN_T_DEFINED_ */
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// GENERIC ACCESS STRATUM TYPES
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -410,7 +410,7 @@ void *eNB_app_task(void *args_p)
|
||||
break;
|
||||
|
||||
case TIMER_HAS_EXPIRED:
|
||||
LOG_I(ENB_APP, " Received %s: timer_id %d\n", msg_name, TIMER_HAS_EXPIRED(msg_p).timer_id);
|
||||
LOG_I(ENB_APP, " Received %s: timer_id %ld\n", msg_name, TIMER_HAS_EXPIRED(msg_p).timer_id);
|
||||
|
||||
if (TIMER_HAS_EXPIRED (msg_p).timer_id == enb_register_retry_timer_id) {
|
||||
/* Restart the registration process */
|
||||
|
||||
@@ -183,14 +183,14 @@ rrc_mac_config_req(
|
||||
logicalChannelConfig->ul_SpecificParameters->bucketSizeDuration; // set the max bucket size
|
||||
if (logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup != NULL) {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.LCGID[logicalChannelIdentity]=*logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup;
|
||||
LOG_D(MAC,"[CONFIG][UE %d] LCID %d is attached to the LCGID %d\n",Mod_idP,logicalChannelIdentity,*logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup);
|
||||
LOG_D(MAC,"[CONFIG][UE %d] LCID %ld is attached to the LCGID %ld\n",Mod_idP,logicalChannelIdentity,*logicalChannelConfig->ul_SpecificParameters->logicalChannelGroup);
|
||||
}
|
||||
else {
|
||||
UE_mac_inst[Mod_idP].scheduling_info.LCGID[logicalChannelIdentity] = MAX_NUM_LCGID;
|
||||
}
|
||||
UE_mac_inst[Mod_idP].scheduling_info.LCID_buffer_remain[logicalChannelIdentity] = 0;
|
||||
} else {
|
||||
LOG_E(MAC,"[CONFIG][UE %d] LCID %d NULL ul_SpecificParameters\n",Mod_idP,logicalChannelIdentity);
|
||||
LOG_E(MAC,"[CONFIG][UE %d] LCID %ld NULL ul_SpecificParameters\n",Mod_idP,logicalChannelIdentity);
|
||||
mac_xface->macphy_exit("NULL ul_SpecificParameters");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
||||
// check threshold
|
||||
if (UE_list->UE_sched_ctrl[i].ul_failure_timer > 200) {
|
||||
// inform RRC of failure and clear timer
|
||||
LOG_I(MAC,"UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC \n",i,rnti,UE_list->UE_sched_ctrl[i].ul_failure_timer);
|
||||
LOG_I(MAC,"UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC \n",i,rnti);
|
||||
mac_eNB_rrc_ul_failure(module_idP,CC_id,frameP,subframeP,rnti);
|
||||
UE_list->UE_sched_ctrl[i].ul_failure_timer=0;
|
||||
UE_list->UE_sched_ctrl[i].ul_out_of_sync=1;
|
||||
|
||||
@@ -1651,7 +1651,10 @@ fill_DLSCH_dci(
|
||||
break;
|
||||
|
||||
case 3:
|
||||
LOG_D(MAC,"[eNB %d] CC_id %d Adding Format 2A UE %d spec DCI for %d PRBS (rb alloc: %x) \n",
|
||||
/* TODO: fix log, what is 'rb alloc'? */
|
||||
/*LOG_D(MAC,"[eNB %d] CC_id %d Adding Format 2A UE %d spec DCI for %d PRBS (rb alloc: %x) \n",
|
||||
module_idP, CC_id, UE_id, nb_rb);*/
|
||||
LOG_D(MAC,"[eNB %d] CC_id %d Adding Format 2A UE %d spec DCI for %d PRBS\n",
|
||||
module_idP, CC_id, UE_id, nb_rb);
|
||||
|
||||
if (PHY_vars_eNB_g[module_idP][CC_id]->frame_parms.frame_type == TDD) {
|
||||
|
||||
@@ -791,7 +791,8 @@ int get_min_rb_unit(module_id_t module_id, uint8_t CC_id)
|
||||
|
||||
default:
|
||||
min_rb_unit=2;
|
||||
LOG_W(MAC,"[eNB %d] N_DL_RB %d unknown for CC_id %d, setting min_rb_unit to 2\n", module_id, CC_id);
|
||||
LOG_W(MAC,"[eNB %d] N_DL_RB %d unknown for CC_id %d, setting min_rb_unit to 2\n",
|
||||
module_id, frame_parms->N_RB_DL, CC_id);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -333,7 +333,7 @@ void rx_sdu(const module_id_t enb_mod_idP,
|
||||
|
||||
if (UE_id < 0) {
|
||||
memcpy(&eNB->common_channels[CC_idP].RA_template[ii].cont_res_id[0],payload_ptr,6);
|
||||
LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3: length %d, offset %d\n",
|
||||
LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3: length %d, offset %ld\n",
|
||||
enb_mod_idP,CC_idP,frameP,rx_lengths[i],payload_ptr-sduP);
|
||||
|
||||
if ((UE_id=add_new_ue(enb_mod_idP,CC_idP,eNB->common_channels[CC_idP].RA_template[ii].rnti,harq_pidP)) == -1 ) {
|
||||
@@ -343,7 +343,7 @@ void rx_sdu(const module_id_t enb_mod_idP,
|
||||
LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Added user with rnti %x => UE %d\n",
|
||||
enb_mod_idP,CC_idP,frameP,eNB->common_channels[CC_idP].RA_template[ii].rnti,UE_id);
|
||||
} else {
|
||||
LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3 from already registered UE %d: length %d, offset %d\n",
|
||||
LOG_I(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d CCCH: Received Msg3 from already registered UE %d: length %d, offset %ld\n",
|
||||
enb_mod_idP,CC_idP,frameP,UE_id,rx_lengths[i],payload_ptr-sduP);
|
||||
// kill RA procedure
|
||||
}
|
||||
@@ -433,7 +433,7 @@ void rx_sdu(const module_id_t enb_mod_idP,
|
||||
|
||||
if (UE_id != -1) {
|
||||
// adjust buffer occupancy of the correponding logical channel group
|
||||
LOG_D(MAC,"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d, removing from LCGID %d, %d\n",
|
||||
LOG_D(MAC,"[eNB %d] CC_id %d Frame %d : ULSCH -> UL-DTCH, received %d bytes from UE %d for lcid %d, removing from LCGID %ld, %d\n",
|
||||
enb_mod_idP,CC_idP,frameP, rx_lengths[i], UE_id,rx_lcids[i],
|
||||
UE_list->UE_template[CC_idP][UE_id].lcgidmap[rx_lcids[i]],
|
||||
UE_list->UE_template[CC_idP][UE_id].ul_buffer_info[UE_list->UE_template[CC_idP][UE_id].lcgidmap[rx_lcids[i]]]);
|
||||
@@ -568,7 +568,7 @@ unsigned char *parse_ulsch_header(unsigned char *mac_header,
|
||||
}
|
||||
}
|
||||
|
||||
LOG_D(MAC,"[eNB] sdu %d lcid %d tb_length %d length %d (offset now %d)\n",
|
||||
LOG_D(MAC,"[eNB] sdu %d lcid %d tb_length %d length %d (offset now %ld)\n",
|
||||
num_sdus,lcid,tb_length, length,mac_header_ptr-mac_header);
|
||||
rx_lcids[num_sdus] = lcid;
|
||||
rx_lengths[num_sdus] = length;
|
||||
|
||||
@@ -127,11 +127,11 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
|
||||
UE_mac_inst = (UE_MAC_INST*)malloc16(NB_UE_INST*sizeof(UE_MAC_INST));
|
||||
|
||||
if (UE_mac_inst == NULL) {
|
||||
LOG_C(MAC,"[MAIN] Can't ALLOCATE %d Bytes for %d UE_MAC_INST with size %d \n",NB_UE_INST*sizeof(UE_MAC_INST),NB_UE_INST,sizeof(UE_MAC_INST));
|
||||
LOG_C(MAC,"[MAIN] Can't ALLOCATE %zu Bytes for %d UE_MAC_INST with size %zu \n",NB_UE_INST*sizeof(UE_MAC_INST),NB_UE_INST,sizeof(UE_MAC_INST));
|
||||
mac_xface->macphy_exit("[MAC][MAIN] not enough memory for UEs \n");
|
||||
}
|
||||
|
||||
LOG_D(MAC,"[MAIN] ALLOCATE %d Bytes for %d UE_MAC_INST @ %p\n",NB_UE_INST*sizeof(UE_MAC_INST),NB_UE_INST,UE_mac_inst);
|
||||
LOG_D(MAC,"[MAIN] ALLOCATE %zu Bytes for %d UE_MAC_INST @ %p\n",NB_UE_INST*sizeof(UE_MAC_INST),NB_UE_INST,UE_mac_inst);
|
||||
|
||||
bzero(UE_mac_inst,NB_UE_INST*sizeof(UE_MAC_INST));
|
||||
|
||||
@@ -148,10 +148,10 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
|
||||
eNB_mac_inst = (eNB_MAC_INST*)malloc16(NB_eNB_INST*sizeof(eNB_MAC_INST));
|
||||
|
||||
if (eNB_mac_inst == NULL) {
|
||||
LOG_D(MAC,"[MAIN] can't ALLOCATE %d Bytes for %d eNB_MAC_INST with size %d \n",NB_eNB_INST*sizeof(eNB_MAC_INST*),NB_eNB_INST,sizeof(eNB_MAC_INST));
|
||||
LOG_D(MAC,"[MAIN] can't ALLOCATE %zu Bytes for %d eNB_MAC_INST with size %zu \n",NB_eNB_INST*sizeof(eNB_MAC_INST*),NB_eNB_INST,sizeof(eNB_MAC_INST));
|
||||
mac_xface->macphy_exit("[MAC][MAIN] not enough memory for eNB \n");
|
||||
} else {
|
||||
LOG_D(MAC,"[MAIN] ALLOCATE %d Bytes for %d eNB_MAC_INST @ %p\n",sizeof(eNB_MAC_INST),NB_eNB_INST,eNB_mac_inst);
|
||||
LOG_D(MAC,"[MAIN] ALLOCATE %zu Bytes for %d eNB_MAC_INST @ %p\n",sizeof(eNB_MAC_INST),NB_eNB_INST,eNB_mac_inst);
|
||||
bzero(eNB_mac_inst,NB_eNB_INST*sizeof(eNB_MAC_INST));
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -189,7 +189,7 @@ unsigned char *parse_header(unsigned char *mac_header,
|
||||
}
|
||||
|
||||
#ifdef DEBUG_HEADER_PARSING
|
||||
LOG_D(MAC,"[UE] sdu %d lcid %d length %d (offset now %d)\n",
|
||||
LOG_D(MAC,"[UE] sdu %d lcid %d length %d (offset now %ld)\n",
|
||||
num_sdus,lcid,length,mac_header_ptr-mac_header);
|
||||
#endif
|
||||
rx_lcids[num_sdus] = lcid;
|
||||
@@ -229,7 +229,7 @@ unsigned char *parse_header(unsigned char *mac_header,
|
||||
}
|
||||
|
||||
#ifdef DEBUG_HEADER_PARSING
|
||||
LOG_D(MAC,"[UE] ce %d lcid %d (offset now %d)\n",num_ces,lcid,mac_header_ptr-mac_header);
|
||||
LOG_D(MAC,"[UE] ce %d lcid %d (offset now %ld)\n",num_ces,lcid,mac_header_ptr-mac_header);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -366,7 +366,7 @@ ue_send_sdu(
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
|
||||
LOG_T(MAC,"[eNB %d] First 32 bytes of DLSCH : \n");
|
||||
LOG_T(MAC,"[UE %d] First 32 bytes of DLSCH : \n", module_idP);
|
||||
|
||||
for (i=0; i<32; i++) {
|
||||
LOG_T(MAC,"%x.",sdu[i]);
|
||||
@@ -386,7 +386,7 @@ ue_send_sdu(
|
||||
module_idP,frameP,payload_ptr[0],payload_ptr[1],payload_ptr[2],payload_ptr[3],payload_ptr[4],payload_ptr[5]);
|
||||
|
||||
if (UE_mac_inst[module_idP].RA_active == 1) {
|
||||
LOG_I(MAC,"[UE %d][RAPROC] Frame %d : Clearing RA_active flag\n");
|
||||
LOG_I(MAC,"[UE %d][RAPROC] Frame %d : Clearing RA_active flag\n", module_idP, frameP);
|
||||
UE_mac_inst[module_idP].RA_active=0;
|
||||
// check if RA procedure has finished completely (no contention)
|
||||
tx_sdu = &UE_mac_inst[module_idP].CCCH_pdu.payload[3];
|
||||
@@ -402,7 +402,7 @@ ue_send_sdu(
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_I(MAC,"[UE %d][RAPROC] Frame %d : Clearing contention resolution timer\n");
|
||||
LOG_I(MAC,"[UE %d][RAPROC] Frame %d : Clearing contention resolution timer\n", module_idP, frameP);
|
||||
UE_mac_inst[module_idP].RA_contention_resolution_timer_active = 0;
|
||||
mac_xface->ra_succeeded(module_idP,CC_id,eNB_index);
|
||||
}
|
||||
@@ -742,7 +742,7 @@ int ue_query_mch(module_id_t module_idP, uint8_t CC_id, uint32_t frameP, uint32_
|
||||
mcch_period = 32<<(UE_mac_inst[module_idP].mbsfn_AreaInfo[0]->mcch_Config_r9.mcch_RepetitionPeriod_r9);
|
||||
|
||||
LOG_D(MAC,
|
||||
"[UE %d] Frame %d subframe %d: Checking MBSFN Sync Area %d/%d with SF allocation %d/%d for MCCH and MTCH (mbsfn period %d, mcch period %d,mac sched period (%d,%d))\n",
|
||||
"[UE %d] Frame %d subframe %d: Checking MBSFN Sync Area %d/%d with SF allocation %d/%d for MCCH and MTCH (mbsfn period %d, mcch period %d,mac sched period (%d,%ld))\n",
|
||||
module_idP,frameP, subframe,i,UE_mac_inst[module_idP].num_active_mbsfn_area,
|
||||
j,UE_mac_inst[module_idP].num_sf_allocation_pattern,mbsfn_period,mcch_period,
|
||||
mch_scheduling_period,UE_mac_inst[module_idP].mbsfn_SubframeConfig[j]->radioframeAllocationOffset);
|
||||
@@ -1054,7 +1054,7 @@ unsigned char generate_ulsch_header(uint8_t *mac_header,
|
||||
last_size=1;
|
||||
*((POWER_HEADROOM_CMD *)ce_ptr)=(*power_headroom);
|
||||
ce_ptr+=sizeof(POWER_HEADROOM_CMD);
|
||||
LOG_D(MAC, "phr header size %d\n",sizeof(POWER_HEADROOM_CMD));
|
||||
LOG_D(MAC, "phr header size %zu\n",sizeof(POWER_HEADROOM_CMD));
|
||||
}
|
||||
|
||||
if (crnti) {
|
||||
@@ -1250,7 +1250,7 @@ unsigned char generate_ulsch_header(uint8_t *mac_header,
|
||||
}
|
||||
|
||||
#ifdef DEBUG_HEADER_PARSING
|
||||
LOG_T(MAC," [UE %d] header : ", crnti);
|
||||
LOG_T(MAC," [UE] header : ");
|
||||
|
||||
for (i=0; i<((unsigned char*)mac_header_ptr - mac_header); i++) {
|
||||
LOG_T(MAC,"%2x.",mac_header[i]);
|
||||
@@ -1887,8 +1887,7 @@ if (UE_mac_inst[module_idP].scheduling_info.LCID_status[lcid] == LCID_NOT_EMPTY)
|
||||
ulsch_buffer[payload_offset+sdu_length_total+j] = (char)(taus()&0xff);
|
||||
}
|
||||
}
|
||||
LOG_D(MAC,"[UE %d][SR] Gave SDU to PHY, clearing any scheduling request\n",
|
||||
module_idP,payload_offset, sdu_length_total);
|
||||
LOG_D(MAC,"[UE %d][SR] Gave SDU to PHY, clearing any scheduling request\n", module_idP);
|
||||
UE_mac_inst[module_idP].scheduling_info.SR_pending=0;
|
||||
UE_mac_inst[module_idP].scheduling_info.SR_COUNTER=0;
|
||||
|
||||
@@ -1901,7 +1900,7 @@ if (UE_mac_inst[module_idP].scheduling_info.LCID_status[lcid] == LCID_NOT_EMPTY)
|
||||
// Reset ReTx BSR Timer
|
||||
UE_mac_inst[module_idP].scheduling_info.retxBSR_SF = get_sf_retxBSRTimer(UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer);
|
||||
|
||||
LOG_D(MAC,"[UE %d] MAC ReTx BSR Timer Reset =%d\n",
|
||||
LOG_D(MAC,"[UE %d] MAC ReTx BSR Timer Reset =%d\n", module_idP,
|
||||
UE_mac_inst[module_idP].scheduling_info.retxBSR_SF);
|
||||
|
||||
// Reset Periodic Timer except when BSR is truncated
|
||||
@@ -1910,7 +1909,7 @@ if (UE_mac_inst[module_idP].scheduling_info.LCID_status[lcid] == LCID_NOT_EMPTY)
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF = get_sf_periodicBSRTimer(UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer);
|
||||
|
||||
LOG_D(MAC,"[UE %d] MAC Periodic BSR Timer Reset =%d\n",
|
||||
UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF);
|
||||
module_idP, UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF);
|
||||
|
||||
}
|
||||
|
||||
@@ -1923,7 +1922,7 @@ if (UE_mac_inst[module_idP].scheduling_info.LCID_status[lcid] == LCID_NOT_EMPTY)
|
||||
|
||||
if (opt_enabled) {
|
||||
trace_pdu(0, ulsch_buffer, buflen, module_idP, 3, UE_mac_inst[module_idP].crnti, UE_mac_inst[module_idP].txFrame, UE_mac_inst[module_idP].txSubframe, 0, 0);
|
||||
LOG_D(OPT,"[UE %d][ULSCH] Frame %d trace pdu for rnti %x with size %d\n",
|
||||
LOG_D(OPT,"[UE %d][ULSCH] Frame %d subframe %d trace pdu for rnti %x with size %d\n",
|
||||
module_idP, UE_mac_inst[module_idP].txFrame, UE_mac_inst[module_idP].txSubframe, UE_mac_inst[module_idP].crnti, buflen);
|
||||
}
|
||||
}
|
||||
@@ -2065,7 +2064,7 @@ ue_scheduler(
|
||||
//return(RRC_OK);
|
||||
}
|
||||
|
||||
LOG_I(MAC,"Frame %d: Contention resolution timer %d/%d\n",txFrameP,UE_mac_inst[module_idP].RA_contention_resolution_cnt,
|
||||
LOG_I(MAC,"Frame %d: Contention resolution timer %d/%ld\n",txFrameP,UE_mac_inst[module_idP].RA_contention_resolution_cnt,
|
||||
((1+rach_ConfigCommon->ra_SupervisionInfo.mac_ContentionResolutionTimer)<<3));
|
||||
|
||||
UE_mac_inst[module_idP].RA_contention_resolution_cnt++;
|
||||
|
||||
@@ -257,7 +257,7 @@ boolean_t pdcp_data_req(
|
||||
* Validate incoming sequence number, there might be a problem with PDCP initialization
|
||||
*/
|
||||
if (current_sn > pdcp_calculate_max_seq_num_for_given_size(pdcp_p->seq_num_size)) {
|
||||
LOG_E(PDCP, PROTOCOL_PDCP_CTXT_FMT" Generated sequence number (%lu) is greater than a sequence number could ever be!\n"\
|
||||
LOG_E(PDCP, PROTOCOL_PDCP_CTXT_FMT" Generated sequence number (%"PRIu16") is greater than a sequence number could ever be!\n"\
|
||||
"There must be a problem with PDCP initialization, ignoring this PDU...\n",
|
||||
PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_p),
|
||||
current_sn);
|
||||
@@ -836,7 +836,7 @@ pdcp_data_ind(
|
||||
|
||||
/* Print octets of incoming data in hexadecimal form */
|
||||
LOG_D(PDCP, "Following content has been received from RLC (%d,%d)(PDCP header has already been removed):\n",
|
||||
sdu_buffer_sizeP - payload_offset + sizeof(pdcp_data_ind_header_t),
|
||||
sdu_buffer_sizeP - payload_offset + (int)sizeof(pdcp_data_ind_header_t),
|
||||
sdu_buffer_sizeP - payload_offset);
|
||||
//util_print_hex_octets(PDCP, &new_sdu_p->data[sizeof (pdcp_data_ind_header_t)], sdu_buffer_sizeP - payload_offset);
|
||||
//util_flush_hex_octets(PDCP, &new_sdu_p->data[sizeof (pdcp_data_ind_header_t)], sdu_buffer_sizeP - payload_offset);
|
||||
@@ -1214,7 +1214,7 @@ rrc_pdcp_config_asn1_req (
|
||||
}
|
||||
|
||||
if (lc_id == 1 || lc_id == 2) {
|
||||
LOG_E(RLC, PROTOCOL_CTXT_FMT" logicalChannelIdentity = %d is invalid in RRC message when adding DRB!\n", PROTOCOL_CTXT_ARGS(ctxt_pP), lc_id);
|
||||
LOG_E(RLC, PROTOCOL_CTXT_FMT" logicalChannelIdentity = %ld is invalid in RRC message when adding DRB!\n", PROTOCOL_CTXT_ARGS(ctxt_pP), lc_id);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1312,7 +1312,7 @@ rrc_pdcp_config_asn1_req (
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_W(PDCP,"[MOD_id %u/%u][RB %u] unknown drb_toaddmod->PDCP_Config->headerCompression->present \n",
|
||||
LOG_W(PDCP,PROTOCOL_PDCP_CTXT_FMT"[RB %ld] unknown drb_toaddmod->PDCP_Config->headerCompression->present \n",
|
||||
PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_p), drb_id);
|
||||
break;
|
||||
}
|
||||
@@ -1345,7 +1345,7 @@ rrc_pdcp_config_asn1_req (
|
||||
h_rc = hashtable_get(pdcp_coll_p, key, (void**)&pdcp_p);
|
||||
|
||||
if (h_rc != HASH_TABLE_OK) {
|
||||
LOG_E(PDCP, PROTOCOL_CTXT_FMT" PDCP REMOVE FAILED drb_id %u\n",
|
||||
LOG_E(PDCP, PROTOCOL_CTXT_FMT" PDCP REMOVE FAILED drb_id %ld\n",
|
||||
PROTOCOL_CTXT_ARGS(ctxt_pP),
|
||||
drb_id);
|
||||
continue;
|
||||
@@ -1749,7 +1749,7 @@ rrc_pdcp_config_req (
|
||||
pdcp_p->cipheringAlgorithm,
|
||||
pdcp_p->integrityProtAlgorithm );
|
||||
} else {
|
||||
LOG_W(PDCP,"[%s %d] bad security mode %d", security_modeP);
|
||||
LOG_W(PDCP,PROTOCOL_PDCP_CTXT_FMT" bad security mode %d", PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_p), security_modeP);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@@ -62,7 +62,7 @@ void util_print_hex_octets(comp_name_t component, unsigned char* data, unsigned
|
||||
*/
|
||||
if (octet_index != 0 && (octet_index + 1) % 16 == 0) {
|
||||
LOG_T(component, " |\n");
|
||||
LOG_T(component, " %03d |", octet_index);
|
||||
LOG_T(component, " %03lu |", octet_index);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ void config_req_rlc_am_asn1 (
|
||||
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p));
|
||||
|
||||
LOG_D(RLC,
|
||||
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold=%d poll_pdu=%d poll_byte=%d t_poll_retransmit=%d t_reord=%d t_status_prohibit=%d), RLC-AM NOT CONFIGURED\n",
|
||||
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold=%ld poll_pdu=%ld poll_byte=%ld t_poll_retransmit=%ld t_reord=%ld t_status_prohibit=%ld), RLC-AM NOT CONFIGURED\n",
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
|
||||
config_am_pP->ul_AM_RLC.maxRetxThreshold,
|
||||
config_am_pP->ul_AM_RLC.pollPDU,
|
||||
@@ -523,7 +523,7 @@ rlc_am_rx (
|
||||
switch (rlc->protocol_state) {
|
||||
|
||||
case RLC_NULL_STATE:
|
||||
LOG_N(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n", arg_pP);
|
||||
LOG_N(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc));
|
||||
list_free (&data_indP.data);
|
||||
break;
|
||||
|
||||
@@ -532,7 +532,7 @@ rlc_am_rx (
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE 0x%02X\n", rlc, rlc->protocol_state);
|
||||
LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE 0x%02X\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc), rlc->protocol_state);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,11 +54,11 @@ rlc_am_init(
|
||||
// rlc_pP->pdu_retrans_buffer = calloc(1, (uint16_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof(rlc_am_tx_data_pdu_management_t)));
|
||||
rlc_pP->pdu_retrans_buffer = calloc(1, (uint32_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof(
|
||||
rlc_am_tx_data_pdu_management_t)));
|
||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM INIT] input_sdus[] = %p element size=%d\n",
|
||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM INIT] input_sdus[] = %p element size=%zu\n",
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||
rlc_pP->input_sdus,
|
||||
sizeof(rlc_am_tx_sdu_management_t));
|
||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM INIT] pdu_retrans_buffer[] = %p element size=%d\n",
|
||||
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM INIT] pdu_retrans_buffer[] = %p element size=%zu\n",
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||
rlc_pP->pdu_retrans_buffer,
|
||||
sizeof(rlc_am_tx_data_pdu_management_t));
|
||||
|
||||
@@ -646,7 +646,7 @@ mem_block_t* rlc_am_retransmit_get_subsegment(
|
||||
// fill the segment pdu_p with Lis and data
|
||||
//---------------------------------------------------------------
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RE-SEGMENT] fill the segment pdu_p with Lis and data, test_num_li %d\n",
|
||||
test_num_li);
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), test_num_li);
|
||||
|
||||
if (test_num_li > 0) {
|
||||
pdu_sub_segment_p->b1 = pdu_sub_segment_p->b1 | 0x04; // set E bit
|
||||
@@ -678,12 +678,12 @@ mem_block_t* rlc_am_retransmit_get_subsegment(
|
||||
*sizeP = *sizeP - 1;
|
||||
}
|
||||
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RB %u][RE-SEGMENT] ADD LI %d\n",
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RE-SEGMENT] ADD LI %d\n",
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||
test_li_list[fill_num_li]);
|
||||
}
|
||||
} else {
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RB %u][RE-SEGMENT] ADD NO LI\n",
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RE-SEGMENT] ADD NO LI\n",
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||
fill_payload_p = (uint8_t*)e_li_sub_segment;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,6 @@ rlc_am_rx_list_insert_pdu(
|
||||
if (pdu_info_previous_cursor_p->sn == pdu_info_p->sn) {
|
||||
if (pdu_info_p->rf != pdu_info_previous_cursor_p->rf) {
|
||||
LOG_N(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[INSERT PDU] LINE %d RX PDU SN %04d WRONG RF -> DROPPED (vr(mr) < vr(r) and sn >= vr(r))\n",
|
||||
ctxt_pP->frame,
|
||||
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
|
||||
__LINE__,
|
||||
pdu_info_p->sn);
|
||||
|
||||
@@ -150,7 +150,7 @@ void config_req_rlc_um_asn1 (
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID UL sn_FieldLength %d, RLC NOT CONFIGURED\n",
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID UL sn_FieldLength %ld, RLC NOT CONFIGURED\n",
|
||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||
rlc_p->rb_id,
|
||||
ul_rlc_pP->sn_FieldLength);
|
||||
@@ -178,7 +178,7 @@ void config_req_rlc_um_asn1 (
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID DL sn_FieldLength %d, RLC NOT CONFIGURED\n",
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID DL sn_FieldLength %ld, RLC NOT CONFIGURED\n",
|
||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||
rlc_p->rb_id,
|
||||
dl_rlc_pP->sn_FieldLength);
|
||||
@@ -197,7 +197,7 @@ void config_req_rlc_um_asn1 (
|
||||
if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) {
|
||||
t_Reordering = t_Reordering_tab[dl_rlc_pP->t_Reordering];
|
||||
} else {
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID T_Reordering %d, RLC NOT CONFIGURED\n",
|
||||
LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID T_Reordering %ld, RLC NOT CONFIGURED\n",
|
||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
|
||||
rlc_p->rb_id,
|
||||
dl_rlc_pP->t_Reordering);
|
||||
|
||||
@@ -579,7 +579,7 @@ rlc_um_try_reassembly(
|
||||
rlc_pP->stat_rx_data_bytes_dropped += tb_ind_p->size;
|
||||
rlc_pP->reassembly_missing_sn_detected = 1;
|
||||
|
||||
LOG_W(RLC, "[SN %d] Bad RLC header! Discard this RLC PDU\n", sn, size);
|
||||
LOG_W(RLC, "[SN %d] Bad RLC header! Discard this RLC PDU (size=%d)\n", sn, size);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,7 +664,7 @@ rlc_um_start_timer_reordering(
|
||||
rlc_pP->t_reordering.ms_time_out);
|
||||
#endif
|
||||
} else {
|
||||
LOG_T(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[T-REORDERING] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
||||
LOG_T(RLC, PROTOCOL_RLC_UM_CTXT_FMT"[T-REORDERING] NOT STARTED, CAUSE CONFIGURED 0 ms\n",
|
||||
PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_pP));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ rlc_um_display_rx_window(
|
||||
LOG_T(RLC, "\n");
|
||||
}
|
||||
|
||||
LOG_T(RLC, "%s%s| %04d |", RLC_FG_COLOR_DEFAULT, RLC_NORMAL_VIDEO, sn);
|
||||
LOG_T(RLC, "%s%s| %04lu |", RLC_FG_COLOR_DEFAULT, RLC_NORMAL_VIDEO, sn);
|
||||
}
|
||||
|
||||
strcpy(color, RLC_FG_COLOR_DEFAULT);
|
||||
|
||||
@@ -71,7 +71,7 @@ void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char* dataP, con
|
||||
LOG_T(componentP, " |\n");
|
||||
}
|
||||
|
||||
LOG_T(componentP, " %04d |", octet_index);
|
||||
LOG_T(componentP, " %04lu |", octet_index);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -99,7 +99,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
|
||||
rb_id = srb2add_listP->list.array[cnt]->srb_Identity;
|
||||
lc_id = rb_id;
|
||||
|
||||
LOG_D(RLC, "Adding SRB %d, rb_id %d\n",srb2add_listP->list.array[cnt]->srb_Identity,rb_id);
|
||||
LOG_D(RLC, "Adding SRB %ld, rb_id %d\n",srb2add_listP->list.array[cnt]->srb_Identity,rb_id);
|
||||
srb_toaddmod_p = srb2add_listP->list.array[cnt];
|
||||
|
||||
if (srb_toaddmod_p->rlc_Config) {
|
||||
@@ -259,7 +259,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
|
||||
continue;
|
||||
}
|
||||
|
||||
LOG_D(RLC, "Adding DRB %d, lc_id %d\n",drb_id,lc_id);
|
||||
LOG_D(RLC, "Adding DRB %ld, lc_id %d\n",drb_id,lc_id);
|
||||
|
||||
|
||||
if (drb_toaddmod_p->rlc_Config) {
|
||||
@@ -325,7 +325,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_W(RLC, PROTOCOL_CTXT_FMT"[RB %u] unknown drb_toaddmod_p->rlc_Config->present \n",
|
||||
LOG_W(RLC, PROTOCOL_CTXT_FMT"[RB %ld] unknown drb_toaddmod_p->rlc_Config->present \n",
|
||||
PROTOCOL_CTXT_ARGS(ctxt_pP),
|
||||
drb_id);
|
||||
}
|
||||
|
||||
+59
-45
@@ -545,7 +545,7 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
|
||||
#endif
|
||||
|
||||
if ((dec_rval.code != RC_OK) && (dec_rval.consumed==0)) {
|
||||
LOG_E(RRC,"[UE %d] Frame %d : Failed to decode DL-CCCH-Message (%d bytes)\n",ctxt_pP->module_id,dec_rval.consumed);
|
||||
LOG_E(RRC,"[UE %d] Frame %d : Failed to decode DL-CCCH-Message (%zu bytes)\n",ctxt_pP->module_id,ctxt_pP->frame,dec_rval.consumed);
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_CCCH, VCD_FUNCTION_OUT);
|
||||
return -1;
|
||||
}
|
||||
@@ -799,15 +799,15 @@ rrc_ue_process_measConfig(
|
||||
ind = measConfig->measObjectToAddModList->list.array[i]->measObjectId;
|
||||
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1]) {
|
||||
LOG_D(RRC,"Modifying measurement object %d\n",ind);
|
||||
LOG_D(RRC,"Modifying measurement object %ld\n",ind);
|
||||
memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1],
|
||||
(char*)measObj,
|
||||
sizeof(MeasObjectToAddMod_t));
|
||||
} else {
|
||||
LOG_I(RRC,"Adding measurement object %d\n",ind);
|
||||
LOG_I(RRC,"Adding measurement object %ld\n",ind);
|
||||
|
||||
if (measObj->measObject.present == MeasObjectToAddMod__measObject_PR_measObjectEUTRA) {
|
||||
LOG_I(RRC,"EUTRA Measurement : carrierFreq %d, allowedMeasBandwidth %d,presenceAntennaPort1 %d, neighCellConfig %d\n",
|
||||
LOG_I(RRC,"EUTRA Measurement : carrierFreq %ld, allowedMeasBandwidth %ld,presenceAntennaPort1 %d, neighCellConfig %d\n",
|
||||
measObj->measObject.choice.measObjectEUTRA.carrierFreq,
|
||||
measObj->measObject.choice.measObjectEUTRA.allowedMeasBandwidth,
|
||||
measObj->measObject.choice.measObjectEUTRA.presenceAntennaPort1,
|
||||
@@ -866,12 +866,12 @@ rrc_ue_process_measConfig(
|
||||
ind = measConfig->reportConfigToAddModList->list.array[i]->reportConfigId;
|
||||
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1]) {
|
||||
LOG_I(RRC,"Modifying Report Configuration %d\n",ind-1);
|
||||
LOG_I(RRC,"Modifying Report Configuration %ld\n",ind-1);
|
||||
memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1],
|
||||
(char*)measConfig->reportConfigToAddModList->list.array[i],
|
||||
sizeof(ReportConfigToAddMod_t));
|
||||
} else {
|
||||
LOG_D(RRC,"Adding Report Configuration %d %p \n",ind-1,measConfig->reportConfigToAddModList->list.array[i]);
|
||||
LOG_D(RRC,"Adding Report Configuration %ld %p \n",ind-1,measConfig->reportConfigToAddModList->list.array[i]);
|
||||
UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1] = measConfig->reportConfigToAddModList->list.array[i];
|
||||
}
|
||||
}
|
||||
@@ -901,12 +901,12 @@ rrc_ue_process_measConfig(
|
||||
ind = measConfig->measIdToAddModList->list.array[i]->measId;
|
||||
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1]) {
|
||||
LOG_D(RRC,"Modifying Measurement ID %d\n",ind-1);
|
||||
LOG_D(RRC,"Modifying Measurement ID %ld\n",ind-1);
|
||||
memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1],
|
||||
(char*)measConfig->measIdToAddModList->list.array[i],
|
||||
sizeof(MeasIdToAddMod_t));
|
||||
} else {
|
||||
LOG_D(RRC,"Adding Measurement ID %d %p\n",ind-1,measConfig->measIdToAddModList->list.array[i]);
|
||||
LOG_D(RRC,"Adding Measurement ID %ld %p\n",ind-1,measConfig->measIdToAddModList->list.array[i]);
|
||||
UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1] = measConfig->measIdToAddModList->list.array[i];
|
||||
}
|
||||
}
|
||||
@@ -938,13 +938,11 @@ rrc_ue_process_measConfig(
|
||||
UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrq = 1./pow(2,
|
||||
(*UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRQ)/4);
|
||||
|
||||
LOG_I(RRC,"[UE %d] set rsrp-coeff for eNB %d: %d rsrq-coeff: %d rsrp_factor: %f rsrq_factor: %f \n",
|
||||
LOG_I(RRC,"[UE %d] set rsrp-coeff for eNB %d: %ld rsrq-coeff: %ld rsrp_factor: %f rsrq_factor: %f \n",
|
||||
ctxt_pP->module_id, eNB_index, // UE_rrc_inst[ue_mod_idP].Info[eNB_index].UE_index,
|
||||
*UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRP,
|
||||
*UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRQ,
|
||||
UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrp,
|
||||
UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrp,
|
||||
UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrp,
|
||||
UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrq);
|
||||
}
|
||||
|
||||
@@ -1467,7 +1465,7 @@ rrc_ue_process_radioResourceConfigDedicated(
|
||||
UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id] = radioResourceConfigDedicated->drb_ToAddModList->list.array[i];
|
||||
rrc_ue_establish_drb(ctxt_pP->module_id,ctxt_pP->frame,eNB_index,radioResourceConfigDedicated->drb_ToAddModList->list.array[i]);
|
||||
// MAC/PHY Configuration
|
||||
LOG_I(RRC, "[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ (DRB %d eNB %d) --->][MAC_UE][MOD %02d][]\n",
|
||||
LOG_I(RRC, "[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ (DRB %ld eNB %d) --->][MAC_UE][MOD %02d][]\n",
|
||||
ctxt_pP->frame, ctxt_pP->module_id,
|
||||
radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity,
|
||||
eNB_index,
|
||||
@@ -1619,7 +1617,7 @@ rrc_ue_process_securityModeCommand(
|
||||
h_rc = hashtable_get(pdcp_coll_p, key, (void**) &pdcp_p);
|
||||
|
||||
if (h_rc == HASH_TABLE_OK) {
|
||||
LOG_D(RRC, "PDCP_COLL_KEY_VALUE() returns valid key = %d\n", key);
|
||||
LOG_D(RRC, "PDCP_COLL_KEY_VALUE() returns valid key = %ld\n", key);
|
||||
|
||||
LOG_D(RRC, "driving kRRCenc, kRRCint and kUPenc from KeNB="
|
||||
"%02x%02x%02x%02x"
|
||||
@@ -1656,7 +1654,7 @@ rrc_ue_process_securityModeCommand(
|
||||
securityMode);
|
||||
}
|
||||
} else {
|
||||
LOG_W(RRC, "Could not get PDCP instance where key=0x%\n", key);
|
||||
LOG_W(RRC, "Could not get PDCP instance where key=0x%ld\n", key);
|
||||
}
|
||||
|
||||
#endif //#if defined(ENABLE_SECURITY)
|
||||
@@ -1702,7 +1700,7 @@ rrc_ue_process_securityModeCommand(
|
||||
#endif
|
||||
|
||||
#ifdef USER_MODE
|
||||
LOG_D(RRC, "securityModeComplete Encoded %d bits (%d bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
|
||||
LOG_D(RRC, "securityModeComplete Encoded %zd bits (%zd bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < (enc_rval.encoded + 7) / 8; i++) {
|
||||
@@ -1807,7 +1805,7 @@ rrc_ue_process_ueCapabilityEnquiry(
|
||||
#endif
|
||||
|
||||
#ifdef USER_MODE
|
||||
LOG_D(RRC,"UECapabilityInformation Encoded %d bits (%d bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
|
||||
LOG_D(RRC,"UECapabilityInformation Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < (enc_rval.encoded + 7) / 8; i++) {
|
||||
@@ -2218,7 +2216,7 @@ rrc_ue_decode_dcch(
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId
|
||||
!= dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId) {
|
||||
LOG_W(RRC,
|
||||
"[UE %d] Frame %d: Handover target (%d) is different from RSRP measured target (%d)..\n",
|
||||
"[UE %d] Frame %d: Handover target (%ld) is different from RSRP measured target (%ld)..\n",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame,
|
||||
dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId,
|
||||
@@ -3134,7 +3132,8 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
|
||||
LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission : %d\n",
|
||||
sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission );
|
||||
LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts : %ld\n",
|
||||
sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts );
|
||||
/* TODO: check that it's okay to access [0] */
|
||||
sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts[0] );
|
||||
}
|
||||
|
||||
// uplinkPowerControlCommon
|
||||
@@ -3378,7 +3377,7 @@ uint64_t arfcn_to_freq(long arfcn) {
|
||||
else if (arfcn <45590) // Band 43
|
||||
return((uint64_t)3600000000 + ((arfcn-43950)*100000));
|
||||
else {
|
||||
LOG_E(RRC,"Unknown EARFCN %d\n",arfcn);
|
||||
LOG_E(RRC,"Unknown EARFCN %ld\n",arfcn);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -3393,19 +3392,20 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
for (i=0;i<interFreqCarrierFreqList.list.count;i++) {
|
||||
LOG_I(RRC, "SIB5 InterFreqCarrierFreq element %d/%d\n",i,interFreqCarrierFreqList.list.count);
|
||||
ifcfInfo = interFreqCarrierFreqList.list.array[i];
|
||||
LOG_I(RRC, " DL Carrier Frequency/ARFCN : %ld/%d\n",
|
||||
LOG_I(RRC, " DL Carrier Frequency/ARFCN : %ld/%ld\n",
|
||||
arfcn_to_freq(ifcfInfo->dl_CarrierFreq),
|
||||
ifcfInfo->dl_CarrierFreq);
|
||||
LOG_I(RRC," Q_RXLevMin : %d\n", ifcfInfo->q_RxLevMin);
|
||||
LOG_I(RRC," P_max : %d\n",ifcfInfo->p_Max);
|
||||
LOG_I(RRC," T_ReselectionEUTRA : %d\n",ifcfInfo->t_ReselectionEUTRA);
|
||||
LOG_I(RRC," Q_RXLevMin : %ld\n", ifcfInfo->q_RxLevMin);
|
||||
if (ifcfInfo->p_Max != NULL)
|
||||
LOG_I(RRC," P_max : %ld\n", *ifcfInfo->p_Max);
|
||||
LOG_I(RRC," T_ReselectionEUTRA : %ld\n",ifcfInfo->t_ReselectionEUTRA);
|
||||
if (ifcfInfo->t_ReselectionEUTRA_SF) {
|
||||
LOG_I(RRC," t_ReselectionEUTRA_SF.sf_Medium %d, t_ReselectionEUTRA_SF.sf_High %d",
|
||||
LOG_I(RRC," t_ReselectionEUTRA_SF.sf_Medium %ld, t_ReselectionEUTRA_SF.sf_High %ld",
|
||||
ifcfInfo->t_ReselectionEUTRA_SF->sf_Medium,
|
||||
ifcfInfo->t_ReselectionEUTRA_SF->sf_High);
|
||||
}
|
||||
LOG_I(RRC," threshX_High : %d\n",ifcfInfo->threshX_High);
|
||||
LOG_I(RRC," threshX_Low : %d\n",ifcfInfo->threshX_Low);
|
||||
LOG_I(RRC," threshX_High : %ld\n",ifcfInfo->threshX_High);
|
||||
LOG_I(RRC," threshX_Low : %ld\n",ifcfInfo->threshX_Low);
|
||||
switch(ifcfInfo->allowedMeasBandwidth) {
|
||||
case AllowedMeasBandwidth_mbw6:
|
||||
LOG_I(RRC," AllowedMeasBandwidth : 6\n");
|
||||
@@ -3431,7 +3431,7 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
else
|
||||
LOG_I(RRC," PresenceAntennaPort1 : False\n");
|
||||
if (ifcfInfo->cellReselectionPriority) {
|
||||
LOG_I(RRC," CellReselectionPriority : %d\n",
|
||||
LOG_I(RRC," CellReselectionPriority : %ld\n",
|
||||
*ifcfInfo->cellReselectionPriority);
|
||||
}
|
||||
LOG_I(RRC," NeighCellConfig : ");
|
||||
@@ -3444,29 +3444,29 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
|
||||
if (ifcfInfo->interFreqNeighCellList) {
|
||||
|
||||
for (j=0;j<ifcfInfo->interFreqNeighCellList->list.count;j++) {
|
||||
LOG_I(RRC," Cell %d\n");
|
||||
LOG_I(RRC," PhysCellId : %d\n",ifcfInfo->interFreqNeighCellList->list.array[j]->physCellId);
|
||||
LOG_I(RRC," Q_OffsetRange : %d\n",ifcfInfo->interFreqNeighCellList->list.array[j]->q_OffsetCell);
|
||||
LOG_I(RRC," Cell %d\n", j);
|
||||
LOG_I(RRC," PhysCellId : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->physCellId);
|
||||
LOG_I(RRC," Q_OffsetRange : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->q_OffsetCell);
|
||||
|
||||
}
|
||||
}
|
||||
if (ifcfInfo->interFreqBlackCellList) {
|
||||
|
||||
for (j=0;j<ifcfInfo->interFreqBlackCellList->list.count;j++) {
|
||||
LOG_I(RRC," Cell %d\n");
|
||||
LOG_I(RRC," PhysCellId start: %d\n",ifcfInfo->interFreqBlackCellList->list.array[j]->start);
|
||||
LOG_I(RRC," Cell %d\n", j);
|
||||
LOG_I(RRC," PhysCellId start: %ld\n",ifcfInfo->interFreqBlackCellList->list.array[j]->start);
|
||||
if (ifcfInfo->interFreqBlackCellList->list.array[i]->range) {
|
||||
LOG_I(RRC," PhysCellId Range : %d\n",ifcfInfo->interFreqBlackCellList->list.array[j]->range);
|
||||
LOG_I(RRC," PhysCellId Range : %ld\n",*ifcfInfo->interFreqBlackCellList->list.array[j]->range);
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef Rel10
|
||||
if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
|
||||
LOG_I(RRC," Q_QualMin_r9 : %d\n",*ifcfInfo->ext1->q_QualMin_r9);
|
||||
LOG_I(RRC," Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
|
||||
|
||||
if (ifcfInfo->ext1 && ifcfInfo->ext1->threshX_Q_r9) {
|
||||
LOG_I(RRC," threshX_HighQ_r9 : %d\n",ifcfInfo->ext1->threshX_Q_r9->threshX_HighQ_r9);
|
||||
LOG_I(RRC," threshX_LowQ_r9: %d\n",ifcfInfo->ext1->threshX_Q_r9->threshX_LowQ_r9);
|
||||
LOG_I(RRC," threshX_HighQ_r9 : %ld\n",ifcfInfo->ext1->threshX_Q_r9->threshX_HighQ_r9);
|
||||
LOG_I(RRC," threshX_LowQ_r9: %ld\n",ifcfInfo->ext1->threshX_Q_r9->threshX_LowQ_r9);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -3786,7 +3786,7 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
|
||||
ctxt_pP->frame,
|
||||
10*log10(mac_xface->get_RSSI(ctxt_pP->module_id,0))-mac_xface->get_rx_total_gain_dB(ctxt_pP->module_id,0),
|
||||
10*log10(mac_xface->get_RSSI(ctxt_pP->module_id,0)));
|
||||
LOG_D(RRC,"[UE %d] Frame %d: Meas RSRP: eNB_offset: %d rsrp_coef: %3.1f filter_coef: %d before L3 filtering: rsrp: %3.1f after L3 filtering: rsrp: %3.1f \n ",
|
||||
LOG_D(RRC,"[UE %d] Frame %d: Meas RSRP: eNB_offset: %d rsrp_coef: %3.1f filter_coef: %ld before L3 filtering: rsrp: %3.1f after L3 filtering: rsrp: %3.1f \n ",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame, eNB_offset,a,
|
||||
*UE_rrc_inst->QuantityConfig[0]->quantityConfigEUTRA->filterCoefficientRSRP,
|
||||
@@ -3886,7 +3886,7 @@ static void rrc_ue_generate_MeasurementReport(protocol_ctxt_t* const ctxt_pP, ui
|
||||
|
||||
if (pframe!=ctxt_pP->frame) {
|
||||
pframe=ctxt_pP->frame;
|
||||
LOG_D(RRC, "[UE %d] Frame %d: doing MeasReport: servingCell(%d) targetCell(%d) rsrp_s(%ld) rsrq_s(%ld) rsrp_t(%ld) rsrq_t(%ld) \n",
|
||||
LOG_D(RRC, "[UE %d] Frame %d: doing MeasReport: servingCell(%ld) targetCell(%ld) rsrp_s(%ld) rsrq_s(%ld) rsrp_t(%ld) rsrq_t(%ld) \n",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame,
|
||||
cellId,
|
||||
@@ -4041,7 +4041,7 @@ static uint8_t check_trigger_meas_event(
|
||||
uint8_t currentCellIndex = mac_xface->frame_parms->Nid_cell;
|
||||
uint8_t tmp_offset;
|
||||
|
||||
LOG_I(RRC,"[UE %d] ofn(%d) ocn(%d) hys(%d) ofs(%d) ocs(%d) a3_offset(%d) ttt(%d) rssi %3.1f\n",
|
||||
LOG_I(RRC,"[UE %d] ofn(%ld) ocn(%ld) hys(%ld) ofs(%ld) ocs(%ld) a3_offset(%ld) ttt(%ld) rssi %3.1f\n",
|
||||
ue_mod_idP,
|
||||
ofn,ocn,hys,ofs,ocs,a3_offset,ttt,
|
||||
10*log10(mac_xface->get_RSSI(ue_mod_idP,0))-mac_xface->get_rx_total_gain_dB(ue_mod_idP,0));
|
||||
@@ -4068,7 +4068,7 @@ static uint8_t check_trigger_meas_event(
|
||||
|
||||
if (UE_rrc_inst->measTimer[ue_cnx_index][meas_index][tmp_offset] >= ttt) {
|
||||
UE_rrc_inst->HandoverInfoUe.targetCellId = get_adjacent_cell_id(ue_mod_idP,tmp_offset); //WARNING!!!...check this!
|
||||
LOG_D(RRC,"[UE %d] Frame %d eNB %d: Handover triggered: targetCellId: %d currentCellId: %d eNB_offset: %d rsrp source: %3.1f rsrp target: %3.1f\n", \
|
||||
LOG_D(RRC,"[UE %d] Frame %d eNB %d: Handover triggered: targetCellId: %ld currentCellId: %d eNB_offset: %d rsrp source: %3.1f rsrp target: %3.1f\n", \
|
||||
ue_mod_idP, frameP, eNB_index,
|
||||
UE_rrc_inst->HandoverInfoUe.targetCellId,ue_cnx_index,eNB_offset,
|
||||
(dB_fixed_times10(UE_rrc_inst[ue_mod_idP].rsrp_db[0])/10.0)-mac_xface->get_rx_total_gain_dB(ue_mod_idP,0)-dB_fixed(mac_xface->frame_parms->N_RB_DL*12),
|
||||
@@ -4112,7 +4112,7 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
|
||||
Sdu_len);
|
||||
|
||||
if ((dec_rval.code != RC_OK) && (dec_rval.consumed==0)) {
|
||||
LOG_E(RRC,"[UE %d] Failed to decode MCCH__MESSAGE (%d bits)\n",
|
||||
LOG_E(RRC,"[UE %d] Failed to decode MCCH__MESSAGE (%lu bits)\n",
|
||||
ctxt_pP->module_id,
|
||||
dec_rval.consumed);
|
||||
//free the memory
|
||||
@@ -4393,8 +4393,14 @@ void *rrc_ue_task( void *args_p )
|
||||
case NAS_CELL_SELECTION_REQ:
|
||||
ue_mod_id = 0; /* TODO force ue_mod_id to first UE, NAS UE not virtualized yet */
|
||||
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d, plmnID %d, rat %x\n", ue_mod_id, msg_name, rrc_get_state(ue_mod_id),
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID, NAS_CELL_SELECTION_REQ (msg_p).rat);
|
||||
LOG_D(RRC, "[UE %d] Received %s: state %d, plmnID (%d%d%d.%d%d%d), rat %x\n", ue_mod_id, msg_name, rrc_get_state(ue_mod_id),
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit1,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit2,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit3,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit1,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit2,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit3,
|
||||
NAS_CELL_SELECTION_REQ (msg_p).rat);
|
||||
|
||||
if (rrc_get_state(ue_mod_id) == RRC_STATE_INACTIVE) {
|
||||
// have a look at MAC/main.c void dl_phy_sync_success(...)
|
||||
@@ -4457,8 +4463,16 @@ void *rrc_ue_task( void *args_p )
|
||||
break;
|
||||
|
||||
case NAS_CONN_ESTABLI_REQ:
|
||||
LOG_D(RRC, "[UE %d] Received %s: cause %d, type %d, s_tmsi %d, plmnID %d\n", ue_mod_id, msg_name, NAS_CONN_ESTABLI_REQ (msg_p).cause,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).type, NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi, NAS_CONN_ESTABLI_REQ (msg_p).plmnID);
|
||||
LOG_D(RRC, "[UE %d] Received %s: cause %d, type %d, s_tmsi (mme code %"PRIu8", m-tmsi %"PRIu32"), plmnID (%d%d%d.%d%d%d)\n", ue_mod_id, msg_name, NAS_CONN_ESTABLI_REQ (msg_p).cause,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).type,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.MMEcode,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.m_tmsi,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit1,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit2,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit3,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit1,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit2,
|
||||
NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit3);
|
||||
|
||||
//PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, 0, 0);
|
||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, 0, 0, 0);
|
||||
|
||||
@@ -484,7 +484,8 @@ rrc_rx_tx(
|
||||
if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt == 0) {
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_active = 0;
|
||||
UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1;
|
||||
LOG_E(RRC,"[UE %d] Handover failure..initiating connection re-establishment procedure... \n");
|
||||
LOG_E(RRC,"[UE %d] Handover failure..initiating connection re-establishment procedure... \n",
|
||||
ctxt_pP->module_id);
|
||||
//Implement 36.331, section 5.3.5.6 here
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
|
||||
return(RRC_Handover_failed);
|
||||
|
||||
+24
-22
@@ -304,14 +304,14 @@ init_SI(
|
||||
|
||||
// SIB13
|
||||
for (i = 0; i < eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count; i++) {
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/2 (partial)\n",
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" SIB13 contents for MBSFN sync area %d/%d (partial)\n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
|
||||
i,
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.count);
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" MCCH Repetition Period: %d (just index number, not real value)\n",
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" MCCH Repetition Period: %ld (just index number, not real value)\n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_RepetitionPeriod_r9);
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" MCCH Offset: %d\n",
|
||||
LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" MCCH Offset: %ld\n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9.list.array[i]->mcch_Config_r9.mcch_Offset_r9);
|
||||
}
|
||||
@@ -394,7 +394,7 @@ init_MCCH(
|
||||
eNB_rrc_inst[enb_mod_idP].carrier[CC_id].MCCH_MESSAGE[sync_area],
|
||||
sync_area);
|
||||
LOG_D(RRC, "[eNB %d] MCCH_MESSAGE contents for Sync Area %d (partial)\n", enb_mod_idP, sync_area);
|
||||
LOG_D(RRC, "[eNB %d] CommonSF_AllocPeriod_r9 %d\n", enb_mod_idP,
|
||||
LOG_D(RRC, "[eNB %d] CommonSF_AllocPeriod_r9 %ld\n", enb_mod_idP,
|
||||
eNB_rrc_inst[enb_mod_idP].carrier[CC_id].mcch_message->commonSF_AllocPeriod_r9);
|
||||
LOG_D(RRC,
|
||||
"[eNB %d] CommonSF_Alloc_r9.list.count (number of MBSFN Subframe Pattern) %d\n",
|
||||
@@ -598,7 +598,7 @@ rrc_eNB_get_next_free_ue_context(
|
||||
RB_FOREACH(ue_context_p, rrc_ue_tree_s, &(eNB_rrc_inst[ctxt_pP->module_id].rrc_ue_head)) {
|
||||
if (ue_context_p->ue_context.random_ue_identity == ue_identityP) {
|
||||
LOG_D(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" Cannot create new UE context, already exist rand UE id 0x%x, uid %u\n",
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" Cannot create new UE context, already exist rand UE id 0x%"PRIx64", uid %u\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
ue_identityP,
|
||||
ue_context_p->local_uid);
|
||||
@@ -690,7 +690,7 @@ rrc_eNB_free_mem_UE_context(
|
||||
{
|
||||
int i;
|
||||
LOG_T(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%x (free internal structs)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%p (free internal structs)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
ue_context_pP);
|
||||
#ifdef Rel10
|
||||
@@ -1310,7 +1310,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
|
||||
ASN_SEQUENCE_ADD(&(*DRB_configList2)->list, DRB_config);
|
||||
//ue_context_pP->ue_context.DRB_configList2[drb_identity_index] = &(*DRB_configList);
|
||||
|
||||
LOG_I(RRC,"EPS ID %d, DRB ID %d (index %d), QCI %d, priority %d, LCID %d LCGID %d \n",
|
||||
LOG_I(RRC,"EPS ID %ld, DRB ID %ld (index %d), QCI %d, priority %ld, LCID %ld LCGID %ld \n",
|
||||
*DRB_config->eps_BearerIdentity,
|
||||
DRB_config->drb_Identity, i,
|
||||
ue_context_pP->ue_context.e_rab[i].param.qos.qci,
|
||||
@@ -1703,7 +1703,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
|
||||
if (*physicalConfigDedicated) {
|
||||
if ((*physicalConfigDedicated)->antennaInfo) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0];
|
||||
LOG_D(RRC,"Setting transmission mode to %d+1\n",rrc_inst->configuration.ue_TransmissionMode[0]);
|
||||
LOG_D(RRC,"Setting transmission mode to %ld+1\n",rrc_inst->configuration.ue_TransmissionMode[0]);
|
||||
if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=
|
||||
CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
|
||||
@@ -2265,8 +2265,8 @@ rrc_eNB_process_MeasurementReport(
|
||||
}
|
||||
|
||||
#ifdef Rel10
|
||||
LOG_I(RRC, "RSRP of Source %d\n", measResults2->measResultPCell.rsrpResult);
|
||||
LOG_I(RRC, "RSRQ of Source %d\n", measResults2->measResultPCell.rsrqResult);
|
||||
LOG_I(RRC, "RSRP of Source %ld\n", measResults2->measResultPCell.rsrpResult);
|
||||
LOG_I(RRC, "RSRQ of Source %ld\n", measResults2->measResultPCell.rsrqResult);
|
||||
#else
|
||||
LOG_I(RRC, "RSRP of Source %d\n", measResults2->measResultServCell.rsrpResult);
|
||||
LOG_I(RRC, "RSRQ of Source %d\n", measResults2->measResultServCell.rsrqResult);
|
||||
@@ -2368,7 +2368,7 @@ rrc_eNB_generate_HandoverPreparationInformation(
|
||||
ue_context_target_p->ue_id_rnti = ue_context_pP->ue_context.rnti; // LG: should not be the same
|
||||
ue_context_target_p->ue_context.rnti = ue_context_target_p->ue_id_rnti; // idem
|
||||
LOG_N(RRC,
|
||||
"[eNB %d] Frame %d : Emulate sending HandoverPreparationInformation msg from eNB source %d to eNB target %d: source UE_id %x target UE_id %x source_modId: %d target_modId: %d\n",
|
||||
"[eNB %d] Frame %d : Emulate sending HandoverPreparationInformation msg from eNB source %d to eNB target %ld: source UE_id %x target UE_id %x source_modId: %d target_modId: %d\n",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame,
|
||||
eNB_rrc_inst[ctxt_pP->module_id].carrier[0] /* CROUX TBC */.physCellId,
|
||||
@@ -2395,7 +2395,7 @@ rrc_eNB_generate_HandoverPreparationInformation(
|
||||
ue_context_target_p->ue_context.handover_info->ueid_t = ue_context_target_p->ue_context.rnti;
|
||||
|
||||
} else {
|
||||
LOG_E(RRC, "\nError in obtaining free UE id in target eNB %l for handover \n", targetPhyId);
|
||||
LOG_E(RRC, "\nError in obtaining free UE id in target eNB %ld for handover \n", targetPhyId);
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -3160,7 +3160,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
memset((void *)mobilityInfo, 0, sizeof(*mobilityInfo));
|
||||
mobilityInfo->targetPhysCellId =
|
||||
(PhysCellId_t) two_tier_hexagonal_cellIds[ue_context_pP->ue_context.handover_info->modid_t];
|
||||
LOG_D(RRC, "[eNB %d] Frame %d: handover preparation: targetPhysCellId: %d mod_id: %d ue: %x \n",
|
||||
LOG_D(RRC, "[eNB %d] Frame %d: handover preparation: targetPhysCellId: %ld mod_id: %d ue: %x \n",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame,
|
||||
mobilityInfo->targetPhysCellId,
|
||||
@@ -3254,7 +3254,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
(void *)rrc_inst->sps_Config[ue_mod_idP],
|
||||
sizeof(SPS_Config_t));
|
||||
*/
|
||||
LOG_I(RRC, "[eNB %d] Frame %d: adding new UE\n");
|
||||
LOG_I(RRC, "[eNB %d] Frame %d: adding new UE\n",
|
||||
ctxt_pP->module_id, ctxt_pP->frame);
|
||||
//Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
|
||||
Idx = DCCH;
|
||||
// SRB1
|
||||
@@ -3549,9 +3550,10 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
ctxt_pP->frame,
|
||||
ue_context_pP->ue_context.primaryCC_id);
|
||||
} else {
|
||||
LOG_W(RRC,"[eNB %d] Frame %d CC %d : invalide SRB identity %d\n",
|
||||
LOG_W(RRC,"[eNB %d] Frame %d CC %d : invalide SRB identity %ld\n",
|
||||
ctxt_pP->module_id,
|
||||
ctxt_pP->frame,
|
||||
ue_context_pP->ue_context.primaryCC_id,
|
||||
SRB_configList->list.array[i]->srb_Identity);
|
||||
}
|
||||
}
|
||||
@@ -4219,7 +4221,7 @@ rrc_eNB_decode_ccch(
|
||||
// AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
|
||||
// ue_context_p = NULL;
|
||||
} else {
|
||||
LOG_I(RRC," S-TMSI doesn't exist, setting Initialue_identity_s_TMSI.m_tmsi to %x => %x\n",ue_context_p,m_tmsi);
|
||||
LOG_I(RRC," S-TMSI doesn't exist, setting Initialue_identity_s_TMSI.m_tmsi to %p => %x\n",ue_context_p,m_tmsi);
|
||||
ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, NOT_A_RANDOM_UE_IDENTITY);
|
||||
if (ue_context_p == NULL)
|
||||
LOG_E(RRC, "%s:%d:%s: rrc_eNB_get_next_free_ue_context returned NULL\n", __FILE__, __LINE__, __FUNCTION__);
|
||||
@@ -4256,7 +4258,7 @@ rrc_eNB_decode_ccch(
|
||||
|
||||
}
|
||||
LOG_D(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE context: %X\n",
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE context: %p\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
ue_context_p);
|
||||
|
||||
@@ -4266,14 +4268,14 @@ rrc_eNB_decode_ccch(
|
||||
#if defined(ENABLE_ITTI)
|
||||
ue_context_p->ue_context.establishment_cause = rrcConnectionRequest->establishmentCause;
|
||||
if (stmsi_received==0)
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Accept new connection from UE random UE identity (0x%" PRIx64 ") MME code %u TMSI %u cause %u\n",
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Accept new connection from UE random UE identity (0x%" PRIx64 ") MME code %u TMSI %u cause %ld\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
ue_context_p->ue_context.random_ue_identity,
|
||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.mme_code,
|
||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.m_tmsi,
|
||||
ue_context_p->ue_context.establishment_cause);
|
||||
else
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Accept new connection from UE MME code %u TMSI %u cause %u\n",
|
||||
LOG_I(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Accept new connection from UE MME code %u TMSI %u cause %ld\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.mme_code,
|
||||
ue_context_p->ue_context.Initialue_identity_s_TMSI.m_tmsi,
|
||||
@@ -4463,7 +4465,7 @@ rrc_eNB_decode_dcch(
|
||||
}
|
||||
|
||||
if ((dec_rval.code != RC_OK) && (dec_rval.consumed == 0)) {
|
||||
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UL-DCCH (%d bytes)\n",
|
||||
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UL-DCCH (%zu bytes)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
dec_rval.consumed);
|
||||
return -1;
|
||||
@@ -4530,13 +4532,13 @@ rrc_eNB_decode_dcch(
|
||||
if (ue_context_p->ue_context.Status == RRC_RECONFIGURED){
|
||||
dedicated_DRB = 1;
|
||||
LOG_I(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_RECONFIGURED (dedicated DRB, xid %d)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_RECONFIGURED (dedicated DRB, xid %ld)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier);
|
||||
}else {
|
||||
dedicated_DRB = 0;
|
||||
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
|
||||
LOG_I(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_RECONFIGURED (default DRB, xid %d)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" UE State = RRC_RECONFIGURED (default DRB, xid %ld)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),ul_dcch_msg->message.choice.c1.choice.rrcConnectionReconfigurationComplete.rrc_TransactionIdentifier);
|
||||
}
|
||||
rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
|
||||
@@ -115,7 +115,7 @@ rrc_eNB_S1AP_get_ue_ids(
|
||||
(hash_key_t)eNB_ue_s1ap_id,
|
||||
result2);
|
||||
if (h_rc != HASH_TABLE_OK) {
|
||||
LOG_E(S1AP, "[eNB %u] Error while hashtable_insert in s1ap_id2_s1ap_ids eNB_ue_s1ap_id %u\n",
|
||||
LOG_E(S1AP, "[eNB %ld] Error while hashtable_insert in s1ap_id2_s1ap_ids eNB_ue_s1ap_id %"PRIu32"\n",
|
||||
rrc_instance_pP - eNB_rrc_inst, eNB_ue_s1ap_id);
|
||||
}
|
||||
}
|
||||
@@ -308,7 +308,7 @@ rrc_eNB_process_security(
|
||||
changed = TRUE;
|
||||
}
|
||||
|
||||
LOG_I (RRC, "[eNB %d][UE %x] Selected security algorithms (%x): %x, %x, %s\n",
|
||||
LOG_I (RRC, "[eNB %d][UE %x] Selected security algorithms (%p): %x, %x, %s\n",
|
||||
ctxt_pP->module_id,
|
||||
ue_context_pP->ue_context.rnti,
|
||||
security_capabilities_pP,
|
||||
@@ -1008,7 +1008,7 @@ int rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(MessageDef *msg_p, const char
|
||||
/* Can not associate this message to an UE index, send a failure to S1AP and discard it! */
|
||||
MessageDef *msg_fail_p;
|
||||
|
||||
LOG_W(RRC, "[eNB %d] In S1AP_UE_CTXT_MODIFICATION_REQ: unknown UE from eNB_ue_s1ap_id (%d) for eNB %d\n", instance, eNB_ue_s1ap_id);
|
||||
LOG_W(RRC, "[eNB %d] In S1AP_UE_CTXT_MODIFICATION_REQ: unknown UE from eNB_ue_s1ap_id (%d)\n", instance, eNB_ue_s1ap_id);
|
||||
|
||||
msg_fail_p = itti_alloc_new_message (TASK_RRC_ENB, S1AP_UE_CTXT_MODIFICATION_FAIL);
|
||||
S1AP_UE_CTXT_MODIFICATION_FAIL (msg_fail_p).eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||
|
||||
@@ -60,8 +60,8 @@ extern "C" {
|
||||
//public_log_if( log_t *g_log;)
|
||||
|
||||
public_log_if( int logInit (void);)
|
||||
public_log_if( void logRecord_mt(const char *file, const char *func, int line,int comp, int level, const char *format, ...);)
|
||||
public_log_if( void logRecord(const char *file, const char *func, int line,int comp, int level, const char *format, ...);)
|
||||
public_log_if( void logRecord_mt(const char *file, const char *func, int line,int comp, int level, const char *format, ...) __attribute__ ((format (printf, 6, 7)));)
|
||||
public_log_if( void logRecord(const char *file, const char *func, int line,int comp, int level, const char *format, ...) __attribute__ ((format (printf, 6, 7)));)
|
||||
public_log_if( int set_comp_log(int component, int level, int verbosity, int interval);)
|
||||
public_log_if( int set_log(int component, int level, int interval);)
|
||||
public_log_if( void set_glog(int level, int verbosity);)
|
||||
|
||||
@@ -199,7 +199,11 @@ display_node_list (node_list * node_vector)
|
||||
//use a python script to postprocess the positions, check the
|
||||
|
||||
// support: view node mobility of one node during the entire simulation OR only one snapshot
|
||||
LOG_F(OMG,"%d; %.3f; %.3f; %.3f\n",
|
||||
/* TODO: this LOG_F generates a warning, below is a fix that removes a %.3f, maybe it's not the correct fix */
|
||||
/*LOG_F(OMG,"%d; %.3f; %.3f; %.3f\n",
|
||||
tmp->node->id,
|
||||
tmp->node->x_pos, tmp->node->y_pos);*/
|
||||
LOG_F(OMG,"%d; %.3f; %.3f\n",
|
||||
tmp->node->id,
|
||||
tmp->node->x_pos, tmp->node->y_pos);
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ static void *opt_listener_thread(void *arg)
|
||||
pthread_exit(NULL);
|
||||
} else {
|
||||
/* Normal read -> discard PDU */
|
||||
LOG_D(OPT, "Incoming data received from: %s:%u with length %d\n",
|
||||
LOG_D(OPT, "Incoming data received from: %s:%u with length %zd\n",
|
||||
inet_ntoa(opt_listener.address.sin_addr),
|
||||
ntohs(opt_listener.address.sin_port), ret);
|
||||
}
|
||||
@@ -198,7 +198,9 @@ int opt_create_listener_socket(char *ip_address, uint16_t port)
|
||||
ret = bind(opt_listener.sd, (struct sockaddr*) &opt_listener.address, sizeof(opt_listener.address));
|
||||
|
||||
if (ret != 0) {
|
||||
LOG_E(OPT, "Failed to bind socket to (%s:%u): %s\n", strerror(errno));
|
||||
LOG_E(OPT, "Failed to bind socket to (%s:%u): %s\n",
|
||||
inet_ntoa(opt_listener.address.sin_addr),
|
||||
ntohs(opt_listener.address.sin_port), strerror(errno));
|
||||
opt_type = OPT_NONE;
|
||||
close(opt_listener.sd);
|
||||
opt_listener.sd = -1;
|
||||
@@ -358,7 +360,7 @@ static void SendFrame(guint8 radioType, guint8 direction, guint8 rntiType,
|
||||
(const struct sockaddr *)&g_serv_addr, sizeof(g_serv_addr));
|
||||
|
||||
if (bytesSent != frameOffset) {
|
||||
LOG_W(OPT, "sendto() failed (not a thread-safe func)- expected %d bytes, got %d (errno=%d)\n",
|
||||
LOG_W(OPT, "sendto() failed (not a thread-safe func)- expected %d bytes, got %ld (errno=%d)\n",
|
||||
frameOffset, bytesSent, errno);
|
||||
//exit(1);
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ void average_total_jitter(void)
|
||||
}
|
||||
}
|
||||
|
||||
LOG_I(OTG,"average_jitter_dl %d average_jitter_ul %lf \n",otg_info->average_jitter_dl,otg_info->average_jitter_ul );
|
||||
LOG_I(OTG,"average_jitter_dl %lf average_jitter_ul %lf \n",otg_info->average_jitter_dl,otg_info->average_jitter_ul );
|
||||
// otg_info->average_jitter_dl/= (float)NB_UE_INST;
|
||||
// otg_info->average_jitter_ul/= (float)NB_UE_INST;
|
||||
}
|
||||
|
||||
@@ -106,8 +106,10 @@ int otg_rx_pkt(const int dst_instanceP, const int ctime, const char * const buff
|
||||
|
||||
if (dst_instance != dst_instanceP) {
|
||||
//#warning "LG: TODO think about multicast traffic"
|
||||
LOG_W(OTG,"[SRC %d][DST %d] [FLOW_idx %d][APP TYPE %d] RX INFO pkt at time %d: flag 0x %x, seq number %d, tx time %d, size (hdr %d, pdcp %d) not for dest instance %u\n",
|
||||
dst_instanceP);
|
||||
/* TODO: fix this LOG, a lot of missing parameters, replaced by a simple basic version */
|
||||
/*LOG_W(OTG,"[SRC %d][DST %d] [FLOW_idx %d][APP TYPE %d] RX INFO pkt at time %d: flag 0x %x, seq number %d, tx time %d, size (hdr %d, pdcp %d) not for dest instance %u\n",
|
||||
dst_instanceP);*/
|
||||
LOG_W(OTG,"dst_instance != dst_instanceP\n");
|
||||
}
|
||||
|
||||
if(otg_hdr_rx->traffic_type > MAX_NUM_APPLICATION) {
|
||||
@@ -246,7 +248,7 @@ int otg_rx_pkt(const int dst_instanceP, const int ctime, const char * const buff
|
||||
ctime - otg_hdr_rx->time,
|
||||
nb_loss_pkts);
|
||||
|
||||
LOG_I(OTG,"INFO LATENCY :: [SRC %d][DST %d] radio access %.2f (tx time %d, ctime %d), OWD:%.2f (ms):\n",
|
||||
LOG_I(OTG,"INFO LATENCY :: [SRC %d][DST %d] radio access %.2f (tx time %d, ctime %d), OWD:%d (ms):\n",
|
||||
src_instance,
|
||||
dst_instance,
|
||||
otg_multicast_info->radio_access_delay[src_instance][dst_instance],
|
||||
|
||||
@@ -305,10 +305,10 @@ unsigned char *packet_gen(
|
||||
otg_info->tx_num_pkt[src_instance][dst_instance][otg_info->traffic_type[src_instance][dst_instance]]+=1;
|
||||
|
||||
if (size!=strlen(payload))
|
||||
LOG_E(OTG,"[%d][%d] [0x %x] The expected packet size does not match the payload size : size %d, strlen %d, seq_num %d packet: |%s|%s| \n",
|
||||
LOG_E(OTG,"[%d][%d] [0x %x] The expected packet size does not match the payload size : size %d, strlen %zu, seq_num %d packet: |%s|%s| \n",
|
||||
src_instance, dst_instance, flag, size, strlen(payload), seq_num, header, payload);
|
||||
else
|
||||
LOG_D(OTG,"[%d][%d] 0x %x][m2m Aggre %d][Flow %d][Type %d/%s] TX INFO pkt at time %d Size= [payload %d] [Total %d] with seq num %d, state=%d : |%s|%s| \n",
|
||||
LOG_D(OTG,"[%d][%d] 0x %x][m2m Aggre %d][Flow %d][Type %d/%s] TX INFO pkt at time %d Size= [payload %d] [Total %zu] with seq num %d, state=%d : |%s|%s| \n",
|
||||
src_instance, dst_instance, flag,
|
||||
otg_info->m2m_aggregation[src_instance][dst_instance],
|
||||
otg_info->flow_id[src_instance][dst_instance],
|
||||
@@ -335,7 +335,7 @@ unsigned char *packet_gen(
|
||||
otg_info->seq_num_background[src_instance][dst_instance]+=1;
|
||||
|
||||
if (otg_info->size_background[src_instance][dst_instance]!=strlen(payload))
|
||||
LOG_E(OTG,"[%d][%d] [0x %x] The expected packet size does not match the payload size : size %d, strlen %d, seq num %d, packet |%s|%s| \n",
|
||||
LOG_E(OTG,"[%d][%d] [0x %x] The expected packet size does not match the payload size : size %d, strlen %zu, seq num %d, packet |%s|%s| \n",
|
||||
src_instance,
|
||||
dst_instance,
|
||||
flag,
|
||||
@@ -345,7 +345,7 @@ unsigned char *packet_gen(
|
||||
header,
|
||||
payload);
|
||||
else
|
||||
LOG_D(OTG,"[%d][%d][%s][0x %x] TX INFO pkt at time %d size is %d with seq num %d, state=%d : |%s|%s| \n",
|
||||
LOG_D(OTG,"[%d][%d][0x %x][%d] TX INFO pkt at time %s size is %d with seq num %d, state=%d : |%s|%s| \n",
|
||||
src_instance,
|
||||
dst_instance,
|
||||
flag,
|
||||
@@ -459,10 +459,10 @@ unsigned char *packet_gen_multicast(
|
||||
otg_multicast_info->tx_num_bytes[src_instance][dst_instance][app]);
|
||||
|
||||
if (size!=strlen(payload))
|
||||
LOG_E(OTG,"[src %d][dst %d] The expected packet size does not match the payload size : size %d, strlen %d \n",
|
||||
LOG_E(OTG,"[src %d][dst %d] The expected packet size does not match the payload size : size %d, strlen %zu \n",
|
||||
src_instance, dst_instance, size, strlen(payload));
|
||||
else {
|
||||
LOG_I(OTG,"[src %d][dst %d]TX INFO pkt at time %d Size= [payload %d] [Total %d] with seq num %d: |%s|%s| \n",
|
||||
LOG_I(OTG,"[src %d][dst %d]TX INFO pkt at time %d Size= [payload %d] [Total %zu] with seq num %d: |%s|%s| \n",
|
||||
src_instance,
|
||||
dst_instance,
|
||||
ctime,
|
||||
@@ -838,7 +838,7 @@ unsigned int header_size(const int hdr_size)
|
||||
if (hdr_size>(sizeof(otg_hdr_info_t) + sizeof(otg_hdr_t)))
|
||||
size-=(sizeof(otg_hdr_info_t) + sizeof(otg_hdr_t));
|
||||
else
|
||||
LOG_W(OTG,"OTG Header not included inside packet header (OTG header:%d, Header%d)\n", hdr_size, sizeof(otg_hdr_info_t) + sizeof(otg_hdr_t) );
|
||||
LOG_W(OTG,"OTG Header not included inside packet header (OTG header:%d, Header%zu)\n", hdr_size, sizeof(otg_hdr_info_t) + sizeof(otg_hdr_t) );
|
||||
|
||||
return(size);
|
||||
|
||||
@@ -1211,7 +1211,7 @@ void init_predef_traffic(
|
||||
break;
|
||||
|
||||
case M2M_TRAFFIC : /* example of M2M traffic */
|
||||
LOG_I(OTG," M2M_TRAFFIC, src = %d, dst = %d \n", i, j, g_otg->application_type[i][j][k]);
|
||||
LOG_I(OTG," M2M_TRAFFIC, src = %d, dst = %d, application type = %d\n", i, j, g_otg->application_type[i][j][k]);
|
||||
g_otg->trans_proto[i][j][k] = TCP;
|
||||
g_otg->ip_v[i][j][k] = IPV4;
|
||||
g_otg->pu_size_pkts[i][j][k]=50;
|
||||
@@ -2015,7 +2015,7 @@ void state_management(
|
||||
&& (otg_info->state_transition_prob[src_instance][dst_instance][application]<=1))
|
||||
&& (otg_info->c_holding_time_off[src_instance][dst_instance]>=g_otg->holding_time_off_pe[src_instance][dst_instance])) {
|
||||
otg_info->state[src_instance][dst_instance][application]=PE_STATE;
|
||||
LOG_I(OTG,"[%d][%d][Appli id %d][Agg Level=%d] NEW STATE:: OFF-->PE \n", src_instance, dst_instance,application, g_otg->aggregation_level[src_instance][dst_instance]);
|
||||
LOG_I(OTG,"[%d][%d][Appli id %d][Agg Level=%d] NEW STATE:: OFF-->PE \n", src_instance, dst_instance,application, g_otg->aggregation_level[src_instance][dst_instance][application]);
|
||||
otg_info->state_transition_prob[src_instance][dst_instance][application]=uniform_dist(0,1);
|
||||
|
||||
} else {
|
||||
|
||||
@@ -410,7 +410,7 @@ nwGtpv1uDestroyTunnelEndPoint( NwGtpv1uStackT *thiz,
|
||||
NwGtpv1uTunnelEndPointT *pRemovedTeid;
|
||||
|
||||
if(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle) {
|
||||
GTPU_DEBUG( "Destroying Tunnel end-point '%x'",
|
||||
GTPU_DEBUG( "Destroying Tunnel end-point '%lx'",
|
||||
pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
|
||||
pRemovedTeid = RB_REMOVE(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap),
|
||||
(NwGtpv1uTunnelEndPointT *)(
|
||||
@@ -423,7 +423,7 @@ nwGtpv1uDestroyTunnelEndPoint( NwGtpv1uStackT *thiz,
|
||||
(NwGtpv1uTunnelEndPointT *)
|
||||
pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
|
||||
} else {
|
||||
GTPU_WARNING("Non-existent Tunnel end-point handle '%x'",
|
||||
GTPU_WARNING("Non-existent Tunnel end-point handle '%lx'",
|
||||
pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
|
||||
}
|
||||
|
||||
|
||||
@@ -523,7 +523,7 @@ int nas_message_encode(
|
||||
/* Compute the NAS message authentication code */
|
||||
LOG_TRACE(DEBUG,
|
||||
"offset %d = %d - %d, hdr encode = %d, length = %d bytes = %d",
|
||||
offset, size, sizeof(uint8_t),
|
||||
offset, size, (int)sizeof(uint8_t),
|
||||
size, length, bytes);
|
||||
uint32_t mac = _nas_message_get_mac(
|
||||
buffer + offset,
|
||||
@@ -1296,7 +1296,9 @@ static uint32_t _nas_message_get_mac(
|
||||
uint32_t count;
|
||||
uint32_t *mac32;
|
||||
|
||||
#ifdef DEBUG_NAS_MESSAGE
|
||||
int i,bytes = 0;
|
||||
#endif
|
||||
|
||||
if (direction == SECU_DIRECTION_UPLINK) {
|
||||
count = 0x00000000 |
|
||||
|
||||
@@ -131,7 +131,7 @@ do {
|
||||
do { \
|
||||
nas_log_func_indent -= 2; \
|
||||
LOG_D(NAS, " %s:%d %*sLeaving %s(rc = %ld)\n", __FILE__, __LINE__, nas_log_func_indent, "", \
|
||||
__FUNCTION__, (long) rETURNcODE); \
|
||||
__FUNCTION__, (long) (rETURNcODE)); \
|
||||
return (rETURNcODE); \
|
||||
} while (0)
|
||||
|
||||
@@ -146,7 +146,7 @@ extern int nas_log_func_indent;
|
||||
# define LOG_FUNC_RETURN(rETURNcODE) \
|
||||
do { \
|
||||
LOG_TRACE(FUNC_OUT, "Leaving %s(rc = %ld)", __FUNCTION__, \
|
||||
(long) rETURNcODE); \
|
||||
(long) (rETURNcODE)); \
|
||||
return (rETURNcODE); \
|
||||
} while(0)
|
||||
|
||||
|
||||
@@ -807,8 +807,7 @@ int emm_proc_plmn_selection_end(int found, tac_t tac, ci_t ci, AcT_t rat)
|
||||
if (is_forbidden) {
|
||||
/* The selected cell is known not to be able to provide normal
|
||||
* service */
|
||||
LOG_TRACE(INFO, "EMM-IDLE - UE may camp on this acceptable cell ",
|
||||
"for limited services");
|
||||
LOG_TRACE(INFO, "EMM-IDLE - UE may camp on this acceptable cell for limited services");
|
||||
|
||||
/* Save the index of the first forbidden PLMN */
|
||||
if (_emm_plmn_list.fplmn < 0) {
|
||||
@@ -819,8 +818,7 @@ int emm_proc_plmn_selection_end(int found, tac_t tac, ci_t ci, AcT_t rat)
|
||||
} else {
|
||||
/* A suitable cell has been found and the PLMN or tracking area
|
||||
* is not in the forbidden list */
|
||||
LOG_TRACE(INFO, "EMM-IDLE - UE may camp on this suitable cell ",
|
||||
"for normal services");
|
||||
LOG_TRACE(INFO, "EMM-IDLE - UE may camp on this suitable cell for normal services");
|
||||
_emm_plmn_list.fplmn = -1;
|
||||
_emm_plmn_list.param[index].stat = NET_OPER_CURRENT;
|
||||
emm_sap.primitive = EMMREG_REGISTER_CNF;
|
||||
@@ -905,7 +903,10 @@ int emm_proc_plmn_selection_end(int found, tac_t tac, ci_t ci, AcT_t rat)
|
||||
* Or terminate the PLMN selection procedure
|
||||
*/
|
||||
if (!select_next_plmn) {
|
||||
if (!(_emm_plmn_list.fplmn) < 0) { // FIXME this comparison makes no sense (bool < 0)
|
||||
/* TODO: be sure of this fix */
|
||||
LOG_TRACE(WARNING, "%s:%d:%s: be sure!!\n", __FILE__, __LINE__, __FUNCTION__);
|
||||
//if (!(_emm_plmn_list.fplmn) < 0) { // FIXME this comparison makes no sense (bool < 0)
|
||||
if (!(_emm_plmn_list.fplmn < 0)) { // FIXME this comparison makes no sense (bool < 0)
|
||||
/* There were one or more PLMNs which were available and allowable,
|
||||
* but an LR failure made registration on those PLMNs unsuccessful
|
||||
* or an entry in any of the forbidden area lists prevented a
|
||||
|
||||
@@ -205,7 +205,7 @@ int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
if (message.procedureCode > sizeof(messages_callback) / (3 * sizeof(
|
||||
s1ap_message_decoded_callback))
|
||||
|| (message.direction > S1AP_PDU_PR_unsuccessfulOutcome)) {
|
||||
S1AP_ERROR("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n",
|
||||
S1AP_ERROR("[SCTP %d] Either procedureCode %ld or direction %d exceed expected\n",
|
||||
assoc_id, message.procedureCode, message.direction);
|
||||
return -1;
|
||||
}
|
||||
@@ -214,7 +214,7 @@ int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
* This can mean not implemented or no procedure for eNB (wrong direction).
|
||||
*/
|
||||
if (messages_callback[message.procedureCode][message.direction-1] == NULL) {
|
||||
S1AP_ERROR("[SCTP %d] No handler for procedureCode %d in %s\n",
|
||||
S1AP_ERROR("[SCTP %d] No handler for procedureCode %ld in %s\n",
|
||||
assoc_id, message.procedureCode,
|
||||
s1ap_direction2String[message.direction]);
|
||||
return -1;
|
||||
@@ -452,10 +452,10 @@ int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
return -1;
|
||||
}
|
||||
if ( s1_error_indication_p->presenceMask & S1AP_ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT) {
|
||||
S1AP_WARN("Received S1 Error indication MME UE S1AP ID 0x%x\n", s1_error_indication_p->mme_ue_s1ap_id);
|
||||
S1AP_WARN("Received S1 Error indication MME UE S1AP ID 0x%lx\n", s1_error_indication_p->mme_ue_s1ap_id);
|
||||
}
|
||||
if ( s1_error_indication_p->presenceMask & S1AP_ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT) {
|
||||
S1AP_WARN("Received S1 Error indication eNB UE S1AP ID 0x%x\n", s1_error_indication_p->eNB_UE_S1AP_ID);
|
||||
S1AP_WARN("Received S1 Error indication eNB UE S1AP ID 0x%lx\n", s1_error_indication_p->eNB_UE_S1AP_ID);
|
||||
}
|
||||
|
||||
if ( s1_error_indication_p->presenceMask & S1AP_ERRORINDICATIONIES_CAUSE_PRESENT) {
|
||||
@@ -710,7 +710,7 @@ int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_desc_p->s1ap_eNB_instance,
|
||||
initialContextSetupRequest_p->eNB_UE_S1AP_ID)) == NULL) {
|
||||
S1AP_ERROR("[SCTP %d] Received initial context setup request for non "
|
||||
"existing UE context 0x%06x\n", assoc_id,
|
||||
"existing UE context 0x%06lx\n", assoc_id,
|
||||
initialContextSetupRequest_p->eNB_UE_S1AP_ID);
|
||||
return -1;
|
||||
}
|
||||
@@ -835,7 +835,7 @@ int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_desc_p->s1ap_eNB_instance,
|
||||
enb_ue_s1ap_id)) == NULL) {
|
||||
S1AP_ERROR("[SCTP %d] Received UE context release command for non "
|
||||
"existing UE context 0x%06x\n",
|
||||
"existing UE context 0x%06lx\n",
|
||||
assoc_id,
|
||||
enb_ue_s1ap_id);
|
||||
/*MessageDef *msg_complete_p;
|
||||
@@ -900,7 +900,7 @@ int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_desc_p->s1ap_eNB_instance,
|
||||
s1ap_E_RABSetupRequest->eNB_UE_S1AP_ID)) == NULL) {
|
||||
S1AP_ERROR("[SCTP %d] Received initial context setup request for non "
|
||||
"existing UE context 0x%06x\n", assoc_id,
|
||||
"existing UE context 0x%06lx\n", assoc_id,
|
||||
s1ap_E_RABSetupRequest->eNB_UE_S1AP_ID);
|
||||
return -1;
|
||||
}
|
||||
@@ -915,7 +915,7 @@ int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
ue_desc_p->rx_stream = stream;
|
||||
|
||||
if ( ue_desc_p->mme_ue_s1ap_id != s1ap_E_RABSetupRequest->mme_ue_s1ap_id){
|
||||
S1AP_WARN("UE context mme_ue_s1ap_id is different form that of the message (%d != %d)",
|
||||
S1AP_WARN("UE context mme_ue_s1ap_id is different form that of the message (%d != %ld)",
|
||||
ue_desc_p->mme_ue_s1ap_id, s1ap_E_RABSetupRequest->mme_ue_s1ap_id);
|
||||
|
||||
}
|
||||
|
||||
@@ -288,9 +288,13 @@ int s1ap_eNB_handle_nas_downlink(const uint32_t assoc_id,
|
||||
downlink_NAS_transport_p->eNB_UE_S1AP_ID,
|
||||
downlink_NAS_transport_p->mme_ue_s1ap_id);
|
||||
|
||||
S1AP_ERROR("[SCTP %d] Received NAS downlink message for non existing UE context eNB_UE_S1AP_ID: 0x%"PRIx32" %u\n",
|
||||
/* TODO: fix this log - the original version is suspicious (twice downlink_NAS_transport_p->eNB_UE_S1AP_ID?) */
|
||||
/*S1AP_ERROR("[SCTP %d] Received NAS downlink message for non existing UE context eNB_UE_S1AP_ID: 0x%"PRIx32" %u\n",
|
||||
assoc_id,
|
||||
downlink_NAS_transport_p->eNB_UE_S1AP_ID,
|
||||
downlink_NAS_transport_p->eNB_UE_S1AP_ID);*/
|
||||
S1AP_ERROR("[SCTP %d] Received NAS downlink message for non existing UE context eNB_UE_S1AP_ID: 0x%lx\n",
|
||||
assoc_id,
|
||||
downlink_NAS_transport_p->eNB_UE_S1AP_ID);
|
||||
return -1;
|
||||
}
|
||||
@@ -311,7 +315,7 @@ int s1ap_eNB_handle_nas_downlink(const uint32_t assoc_id,
|
||||
} else {
|
||||
/* We already have a mme ue s1ap id check the received is the same */
|
||||
if (ue_desc_p->mme_ue_s1ap_id != downlink_NAS_transport_p->mme_ue_s1ap_id) {
|
||||
S1AP_ERROR("[SCTP %d] Mismatch in MME UE S1AP ID (0x%"PRIx32" != 0x%"PRIx32")\n",
|
||||
S1AP_ERROR("[SCTP %d] Mismatch in MME UE S1AP ID (0x%lx != 0x%"PRIx32"\n",
|
||||
assoc_id,
|
||||
downlink_NAS_transport_p->mme_ue_s1ap_id,
|
||||
ue_desc_p->mme_ue_s1ap_id
|
||||
@@ -579,7 +583,7 @@ int s1ap_eNB_initial_ctxt_resp(
|
||||
new_item->transportLayerAddress.size = initial_ctxt_resp_p->e_rabs[i].eNB_addr.length;
|
||||
new_item->transportLayerAddress.bits_unused = 0;
|
||||
|
||||
S1AP_DEBUG("initial_ctxt_resp_p: e_rab ID %d, enb_addr %d.%d.%d.%d, SIZE %d \n",
|
||||
S1AP_DEBUG("initial_ctxt_resp_p: e_rab ID %ld, enb_addr %d.%d.%d.%d, SIZE %d \n",
|
||||
new_item->e_RAB_ID,
|
||||
new_item->transportLayerAddress.buf[0],
|
||||
new_item->transportLayerAddress.buf[1],
|
||||
@@ -778,7 +782,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
|
||||
new_item->transportLayerAddress.size = e_rab_setup_resp_p->e_rabs[i].eNB_addr.length;
|
||||
new_item->transportLayerAddress.bits_unused = 0;
|
||||
|
||||
S1AP_DEBUG("e_rab_setup_resp: e_rab ID %d, teid %u, enb_addr %d.%d.%d.%d, SIZE %d\n",
|
||||
S1AP_DEBUG("e_rab_setup_resp: e_rab ID %ld, teid %u, enb_addr %d.%d.%d.%d, SIZE %d\n",
|
||||
new_item->e_RAB_ID,
|
||||
e_rab_setup_resp_p->e_rabs[i].gtp_teid,
|
||||
new_item->transportLayerAddress.buf[0],
|
||||
|
||||
@@ -379,7 +379,7 @@ void *udp_eNB_task(void *args_p)
|
||||
sizeof(struct sockaddr_in));
|
||||
|
||||
if (bytes_written != udp_data_req_p->buffer_length) {
|
||||
LOG_E(UDP_, "There was an error while writing to socket %u rc %d"
|
||||
LOG_E(UDP_, "There was an error while writing to socket %d rc %zd"
|
||||
"(%d:%s) May be normal if GTPU kernel module loaded on same host (may NF_DROP IP packet)\n",
|
||||
udp_sd, bytes_written, errno, strerror(errno));
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ extern pthread_cond_t sync_cond;
|
||||
extern pthread_mutex_t sync_mutex;
|
||||
extern int sync_var;
|
||||
|
||||
extern transmission_mode;
|
||||
extern int transmission_mode;
|
||||
|
||||
//pthread_t main_eNB_thread;
|
||||
|
||||
@@ -934,12 +934,12 @@ void rx_fh_if5(PHY_VARS_eNB *eNB,int *frame, int *subframe) {
|
||||
|
||||
if (proc->first_rx == 0) {
|
||||
if (proc->subframe_rx != *subframe){
|
||||
LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->subframe_rx %d, subframe %d)\n",proc->subframe_rx,subframe);
|
||||
LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->subframe_rx %d, subframe %d)\n",proc->subframe_rx,*subframe);
|
||||
exit_fun("Exiting");
|
||||
}
|
||||
|
||||
if (proc->frame_rx != *frame) {
|
||||
LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->frame_rx %d frame %d)\n",proc->frame_rx,frame);
|
||||
LOG_E(PHY,"Received Timestamp doesn't correspond to the time we think it is (proc->frame_rx %d frame %d)\n",proc->frame_rx,*frame);
|
||||
exit_fun("Exiting");
|
||||
}
|
||||
} else {
|
||||
@@ -1083,7 +1083,9 @@ void wakeup_slaves(eNB_proc_t *proc) {
|
||||
// wake up slave FH thread
|
||||
// lock the FH mutex and make sure the thread is ready
|
||||
if (pthread_mutex_timedlock(&slave_proc->mutex_FH,&wait) != 0) {
|
||||
LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB CCid %d slave CCid %d (IC %d)\n",proc->CC_id,slave_proc->CC_id);
|
||||
/* TODO: fix this log, what is 'IC'? */
|
||||
/*LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB CCid %d slave CCid %d (IC %d)\n",proc->CC_id,slave_proc->CC_id);*/
|
||||
LOG_E( PHY, "[eNB] ERROR pthread_mutex_lock for eNB CCid %d slave CCid %d\n",proc->CC_id,slave_proc->CC_id);
|
||||
exit_fun( "error locking mutex_rxtx" );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t abstraction_flag)
|
||||
{
|
||||
|
||||
int i,j,layer,aa,re;
|
||||
int i,j;
|
||||
PHY_VARS_eNB* PHY_vars_eNB = malloc(sizeof(PHY_VARS_eNB));
|
||||
memset(PHY_vars_eNB,0,sizeof(PHY_VARS_eNB));
|
||||
PHY_vars_eNB->Mod_id=eNB_id;
|
||||
|
||||
Reference in New Issue
Block a user