wifi-scripts: fix vht_oper_centr_freq_seg0_idx_map calculation

When selecting channels above 100 in VHT160+ modes the center
frequency segment was incorrectly set to 50, causing the interface
to not come up.

Change logic to instead check if the channel is within ±28 channels
of the intended center, which matches the actual 160+ MHz channel
width specification for VHT160, HE160, and EHT160.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/18013
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
Sean Khan 2025-02-17 16:35:32 -05:00 committed by John Crispin
parent 1152af3490
commit 7fd9340ec4

View File

@ -242,7 +242,7 @@ function device_htmode_append(config) {
[ 29, 15 ], [ 61, 47 ], [ 93, 79 ], [ 125, 111 ],
[ 157, 143 ], [ 189, 175 ], [ 221, 207 ]];
for (let k, v in vht_oper_centr_freq_seg0_idx_map)
if (v[0] <= config.channel) {
if (config.channel >= (v[0] - 28) && config.channel <= v[0]) {
config.vht_oper_centr_freq_seg0_idx = v[1];
break;
}