Skip to content

Commit 7ca2fa1

Browse files
andrepuschmanncodebot
authored andcommitted
du,f1ap_helpers: use band_helper to set n_ta_offset value in SIB1
this fixes a bug in which some newer generation basebands have not accepted the SIB config because it was always using the value n0 as n_ta_offset. this value, however, is not a valid choice for TDD bands according to 38.133 Table 7.1.2-2, resulting in some phones (with basebands checking this value) not being able to attach in TDD mode.
1 parent 689b5ff commit 7ca2fa1

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

lib/du_manager/converters/f1ap_configuration_helpers.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,19 @@ static asn1::rrc_nr::serving_cell_cfg_common_sib_s make_asn1_rrc_cell_serving_ce
399399
cell.ssb_positions_in_burst.in_one_group.from_number(static_cast<uint64_t>(du_cfg.ssb_cfg.ssb_bitmap) >>
400400
static_cast<uint64_t>(56U));
401401
asn1::number_to_enum(cell.ssb_periodicity_serving_cell, ssb_periodicity_to_value(du_cfg.ssb_cfg.ssb_period));
402-
cell.ss_pbch_block_pwr = du_cfg.ssb_cfg.ssb_block_power;
402+
cell.ss_pbch_block_pwr = du_cfg.ssb_cfg.ssb_block_power;
403+
404+
n_ta_offset ta_offset = band_helper::get_ta_offset(du_cfg.dl_carrier.band);
403405
cell.n_timing_advance_offset_present = true;
404-
cell.n_timing_advance_offset.value = asn1::rrc_nr::serving_cell_cfg_common_sib_s::n_timing_advance_offset_opts::n0;
406+
if (ta_offset == n_ta_offset::n0) {
407+
cell.n_timing_advance_offset.value = asn1::rrc_nr::serving_cell_cfg_common_sib_s::n_timing_advance_offset_opts::n0;
408+
} else if (ta_offset == n_ta_offset::n25600) {
409+
cell.n_timing_advance_offset.value =
410+
asn1::rrc_nr::serving_cell_cfg_common_sib_s::n_timing_advance_offset_opts::n25600;
411+
} else if (ta_offset == n_ta_offset::n39936) {
412+
cell.n_timing_advance_offset.value =
413+
asn1::rrc_nr::serving_cell_cfg_common_sib_s::n_timing_advance_offset_opts::n39936;
414+
}
405415

406416
// TDD config
407417
if (du_cfg.tdd_ul_dl_cfg_common.has_value()) {

0 commit comments

Comments
 (0)