From 9b40d1da998c93379699d36f806568a318a8d8f5 Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Thu, 22 Oct 2020 15:36:09 +0100 Subject: [PATCH] fix 256qam for handover --- srsenb/src/stack/rrc/rrc_mobility.cc | 10 ++++++++++ srsenb/src/stack/rrc/rrc_ue.cc | 1 + 2 files changed, 11 insertions(+) diff --git a/srsenb/src/stack/rrc/rrc_mobility.cc b/srsenb/src/stack/rrc/rrc_mobility.cc index d43e736fb..b87c78d48 100644 --- a/srsenb/src/stack/rrc/rrc_mobility.cc +++ b/srsenb/src/stack/rrc/rrc_mobility.cc @@ -933,6 +933,15 @@ void rrc::ue::rrc_mobility::fill_mobility_reconf_common(asn1::rrc::dl_dcch_msg_s ant_info.tx_mode.value = ant_info_ded_s::tx_mode_e_::tm1; ant_info.ue_tx_ant_sel.set(setup_e::release); + // 256-QAM + if (rrc_ue->ue_capabilities.support_dl_256qam) { + phy_cfg.ext = true; + phy_cfg.cqi_report_cfg_pcell_v1250.set_present(true); + phy_cfg.cqi_report_cfg_pcell_v1250->alt_cqi_table_r12_present = true; + phy_cfg.cqi_report_cfg_pcell_v1250->alt_cqi_table_r12.value = + cqi_report_cfg_v1250_s::alt_cqi_table_r12_opts::all_sfs; + } + rrc_ue->apply_setup_phy_common(target_cell.sib2.rr_cfg_common, false); rrc_ue->apply_reconf_phy_config(recfg_r8, false); @@ -1223,6 +1232,7 @@ bool rrc::ue::rrc_mobility::apply_ho_prep_cfg(const ho_prep_info_r8_ies_s& ho rrc_ue->eutra_capabilities.to_json(js); rrc_log->debug_long("New rnti=0x%x EUTRA capabilities: %s\n", rrc_ue->rnti, js.to_string().c_str()); } + rrc_ue->ue_capabilities = srslte::make_rrc_ue_capabilities(rrc_ue->eutra_capabilities); rrc_ue->eutra_capabilities_unpacked = true; } } diff --git a/srsenb/src/stack/rrc/rrc_ue.cc b/srsenb/src/stack/rrc/rrc_ue.cc index 7ec9e2afd..6ed453218 100644 --- a/srsenb/src/stack/rrc/rrc_ue.cc +++ b/srsenb/src/stack/rrc/rrc_ue.cc @@ -372,6 +372,7 @@ void rrc::ue::handle_rrc_con_reest_req(rrc_conn_reest_request_s* msg) // Make sure UE capabilities are copied over to new RNTI eutra_capabilities = parent->users[old_rnti]->eutra_capabilities; eutra_capabilities_unpacked = parent->users[old_rnti]->eutra_capabilities_unpacked; + ue_capabilities = parent->users[old_rnti]->ue_capabilities; if (parent->rrc_log->get_level() == srslte::LOG_LEVEL_DEBUG) { asn1::json_writer js{}; eutra_capabilities.to_json(js);