Originally reported by Daniele Pugliese on 2026-05-14 — GitLab #1093
With disable_harq == 1 set in the gNB config, the BLER-driven MCS adaptation mechanism is silently inoperative. bler_stats->bler never moves from its initialization value (bler_options->lower + bler_options->upper) / 2 regardless of actual link quality. There is no fall-back AMC, so the gNB has no ability to react to changing channel conditions.
Although disabling HARQ is intentional for NTN GEO scenarios, this does not imply that AMC should be disabled.
Reproduction
- gNB configured as GEO satellites NTN tutorial with
disable_harq = 1.
- Attach a UE and generate traffic.
- Observe the periodic MAC stats:
BLER 0.10000 and constant MCS.
A fix addressing this is on branch amc-ntn-geo. The fix (a) switches the BLER metric in get_mcs_from_bler() from stats->rounds[1] to stats->errors, and (b) removes the harq_round_max == 1 short-circuits in pf_dl() (DL) and pf_ul() (UL) so the OLLA runs in all regimes.
Tested with 2026.w19, a USRP B210 as gNB, a USRP B210 as UE and a Propsim FS16 as satellite channel emulator.
With
disable_harq == 1set in the gNB config, the BLER-driven MCS adaptation mechanism is silently inoperative.bler_stats->blernever moves from its initialization value(bler_options->lower + bler_options->upper) / 2regardless of actual link quality. There is no fall-back AMC, so the gNB has no ability to react to changing channel conditions.Although disabling HARQ is intentional for NTN GEO scenarios, this does not imply that AMC should be disabled.
Reproduction
disable_harq = 1.BLER 0.10000and constant MCS.A fix addressing this is on branch amc-ntn-geo. The fix (a) switches the BLER metric in
get_mcs_from_bler()fromstats->rounds[1]tostats->errors, and (b) removes theharq_round_max == 1short-circuits inpf_dl()(DL) andpf_ul()(UL) so the OLLA runs in all regimes.Tested with
2026.w19, a USRP B210 as gNB, a USRP B210 as UE and a Propsim FS16 as satellite channel emulator.