diff --git a/srsue/hdr/stack/rrc_nr/rrc_nr.h b/srsue/hdr/stack/rrc_nr/rrc_nr.h index 56aa29997..192a66877 100644 --- a/srsue/hdr/stack/rrc_nr/rrc_nr.h +++ b/srsue/hdr/stack/rrc_nr/rrc_nr.h @@ -201,6 +201,7 @@ private: // Stores the state of the PHY configuration setting enum { PHY_CFG_STATE_NONE = 0, + PHY_CFG_STATE_SA_MIB_CFG, PHY_CFG_STATE_SA_SIB_CFG, PHY_CFG_STATE_SA_FULL_CFG, PHY_CFG_STATE_NSA_APPLY_SP_CELL, diff --git a/srsue/src/stack/rrc_nr/rrc_nr.cc b/srsue/src/stack/rrc_nr/rrc_nr.cc index 093e0181d..c9c14e2e1 100644 --- a/srsue/src/stack/rrc_nr/rrc_nr.cc +++ b/srsue/src/stack/rrc_nr/rrc_nr.cc @@ -2225,6 +2225,9 @@ void rrc_nr::set_phy_config_complete(bool status) case PHY_CFG_STATE_NONE: logger.warning("PHY configuration completed without a clear state."); break; + case PHY_CFG_STATE_SA_MIB_CFG: + logger.info("PHY configuration with MIB parameters completed."); + break; case PHY_CFG_STATE_SA_SIB_CFG: logger.info("PHY configuration with SIB parameters completed."); break; diff --git a/srsue/src/stack/rrc_nr/rrc_nr_procedures.cc b/srsue/src/stack/rrc_nr/rrc_nr_procedures.cc index 3ee274a3d..5bd11d332 100644 --- a/srsue/src/stack/rrc_nr/rrc_nr_procedures.cc +++ b/srsue/src/stack/rrc_nr/rrc_nr_procedures.cc @@ -474,7 +474,11 @@ rrc_nr::cell_selection_proc::handle_cell_search_result(const rrc_interface_phy_n make_phy_search_space0_cfg(&phy_cfg.pdcch.search_space[0]); phy_cfg.pdcch.search_space_present[0] = true; + // Set dummy offset to pass PRACH config check, real value is provided in SIB1 + phy_cfg.prach.freq_offset = 1; + // Update PHY configuration + rrc_handle.phy_cfg_state = PHY_CFG_STATE_SA_MIB_CFG; if (not rrc_handle.phy->set_config(phy_cfg)) { Error("Setting PHY configuration"); return proc_outcome_t::error;