diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index 3c7c9ebd39..7ad2ac5bb4 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -3322,7 +3322,7 @@ bool prepare_initial_ul_rrc_message(gNB_MAC_INST *mac, NR_UE_info_t *UE) int CC_id = 0; int srb_id = 1; const NR_ServingCellConfigCommon_t *scc = mac->common_channels[CC_id].ServingCellConfigCommon; - const NR_ServingCellConfig_t *sccd = mac->common_channels[CC_id].pre_ServingCellConfig; + const NR_ServingCellConfig_t *sccd = UE->is_redcap ? NULL : mac->common_channels[CC_id].pre_ServingCellConfig; NR_CellGroupConfig_t *cellGroupConfig = get_initial_cellGroupConfig(UE->uid, scc, sccd, &mac->radio_config); ASN_STRUCT_FREE(asn_DEF_NR_CellGroupConfig, UE->CellGroup); UE->CellGroup = cellGroupConfig; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index b6e86fa6b7..d23fedd221 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -350,6 +350,7 @@ static int nr_process_mac_pdu(instance_t module_idP, if (lcid == UL_SCH_LCID_CCCH_48_BITS_REDCAP) { LOG_I(MAC, "UE with RNTI %04x is RedCap\n", UE->rnti); + UE->is_redcap = true; } if (prepare_initial_ul_rrc_message(RC.nrmac[module_idP], UE)) { diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h index 65812ae0f5..628a23f770 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h +++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h @@ -783,6 +783,7 @@ typedef struct { float ul_thr_ue; float dl_thr_ue; long pdsch_HARQ_ACK_Codebook; + bool is_redcap; } NR_UE_info_t; typedef struct { diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.51PRB.usrpb210.redcap.yaml b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.redcap.yaml similarity index 93% rename from targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.51PRB.usrpb210.redcap.yaml rename to targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.redcap.yaml index b3f43bfbd7..01c40ca3d7 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.51PRB.usrpb210.redcap.yaml +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.redcap.yaml @@ -35,7 +35,7 @@ gNBs: # subcarrierSpacing # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 dl_subcarrierSpacing: 1 - dl_carrierBandwidth: 51 + dl_carrierBandwidth: 106 #initialDownlinkBWP #genericParameters # this is RBstart=0,L=51 (275*(L-1))+RBstart @@ -54,7 +54,7 @@ gNBs: # subcarrierSpacing # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 ul_subcarrierSpacing: 1 - ul_carrierBandwidth: 51 + ul_carrierBandwidth: 106 pMax: 20 #initialUplinkBWP #genericParameters @@ -134,6 +134,18 @@ gNBs: nrofUplinkSymbols: 4 ssPBCH_BlockPower: -25 + + servingCellConfigDedicated: + - dl_bwp-Id_1: 1 + dl_bwp1_locationAndBandwidth: 28875 + dl_bwp1_subcarrierSpacing: 1 + firstActiveDownlinkBWP-Id: 1 + defaultDownlinkBWP-Id: 1 + ul_bwp-Id_1: 1 + ul_bwp1_locationAndBandwidth: 28875 + ul_bwp1_subcarrierSpacing: 1 + firstActiveUplinkBWP-Id: 1 + RedCap: cellBarredRedCap1Rx_r17: 1 cellBarredRedCap2Rx_r17: 1