diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.usrpb200.sc-fdma.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.usrpb200.sc-fdma.conf index 053b31c608..fc21991b67 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.106prb.usrpb200.sc-fdma.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.usrpb200.sc-fdma.conf @@ -175,7 +175,6 @@ MACRLCs = ( pusch_TargetSNRx10 = 200; pucch_TargetSNRx10 = 200; ul_prbblack_SNR_threshold = 10; - ul_max_mcs = 9; } ); diff --git a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml index 54df2fa1a4..d2bfaa02d4 100644 --- a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml @@ -150,8 +150,8 @@ Iperf - iperf (UL/6Mbps/UDP)(30 sec)(single-ue profile) - -u -b 6M -t 30 + iperf (UL/18Mbps/UDP)(30 sec) + -u -b 18M -t 30 idefix sabox-nepes 1 diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c index 3f0db0e4da..0b4798a4e1 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c @@ -2658,16 +2658,17 @@ long get_transformPrecoding(const NR_UE_UL_BWP_t *current_UL_BWP, nr_dci_format_ && current_UL_BWP->configuredGrantConfig->transformPrecoder) return *current_UL_BWP->configuredGrantConfig->transformPrecoder; - if (dci_format == NR_UL_DCI_FORMAT_0_1 + long msg3_tp = NR_PUSCH_Config__transformPrecoder_disabled; + if (current_UL_BWP && current_UL_BWP->rach_ConfigCommon && current_UL_BWP->rach_ConfigCommon->msg3_transformPrecoder) + msg3_tp = NR_PUSCH_Config__transformPrecoder_enabled; + + if (dci_format != NR_UL_DCI_FORMAT_0_0 && current_UL_BWP && current_UL_BWP->pusch_Config && current_UL_BWP->pusch_Config->transformPrecoder) return *current_UL_BWP->pusch_Config->transformPrecoder; - if (current_UL_BWP && current_UL_BWP->rach_ConfigCommon && current_UL_BWP->rach_ConfigCommon->msg3_transformPrecoder) - return NR_PUSCH_Config__transformPrecoder_enabled; - - return NR_PUSCH_Config__transformPrecoder_disabled; + return msg3_tp; } uint8_t get_pusch_nb_antenna_ports(NR_PUSCH_Config_t *pusch_Config, diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index a076829a8a..04479237ad 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -779,7 +779,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac, uint32_t n_RS_Id = 0; if (NR_DMRS_ulconfig->transformPrecodingEnabled && - NR_DMRS_ulconfig->transformPrecodingEnabled->nPUSCH_Identity != NULL) + NR_DMRS_ulconfig->transformPrecodingEnabled->nPUSCH_Identity) n_RS_Id = *NR_DMRS_ulconfig->transformPrecodingEnabled->nPUSCH_Identity; else n_RS_Id = mac->physCellId; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 5e752696fb..87beaa6c55 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -1754,7 +1754,7 @@ static bool allocate_ul_retransmission(gNB_MAC_INST *nrmac, return true; } -uint32_t ul_pf_tbs[3][29]; // pre-computed, approximate TBS values for PF coefficient +uint32_t ul_pf_tbs[5][29]; // pre-computed, approximate TBS values for PF coefficient typedef struct UEsched_s { float coef; NR_UE_info_t * UE; @@ -2221,11 +2221,11 @@ nr_pp_impl_ul nr_init_fr1_ulsch_preprocessor(int CC_id) * which should approximately(!) give us the TBsize. In particular, the * number of symbols, the number of DMRS symbols, and the exact Qm and R, are * not correct*/ - for (int mcsTableIdx = 0; mcsTableIdx < 3; ++mcsTableIdx) { + for (int mcsTableIdx = 0; mcsTableIdx < 5; ++mcsTableIdx) { for (int mcs = 0; mcs < 29; ++mcs) { - if (mcs > 27 && mcsTableIdx == 1) + if (mcs > 27 && (mcsTableIdx == 1 || mcsTableIdx == 3 || mcsTableIdx == 4)) continue; - const uint8_t Qm = nr_get_Qm_dl(mcs, mcsTableIdx); + const uint8_t Qm = nr_get_Qm_ul(mcs, mcsTableIdx); const uint16_t R = nr_get_code_rate_ul(mcs, mcsTableIdx); /* note: we do not update R/Qm based on low MCS or pi2BPSK */ ul_pf_tbs[mcsTableIdx][mcs] = nr_compute_tbs(Qm,