From: Felix Fietkau Date: Thu, 14 Aug 2025 16:24:08 +0000 (+0200) Subject: wifi-scripts: ucode: fix setting supported/basic rates in config X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6ae4115746268d9b5b420d949a78f2139e5dc91b;p=thirdparty%2Fopenwrt.git wifi-scripts: ucode: fix setting supported/basic rates in config Only set the default based on cell density, do not override. Fixes: https://github.com/openwrt/openwrt/issues/19673 Signed-off-by: Felix Fietkau --- diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/hostapd.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/hostapd.uc index b97597a1b31..b8f67b61079 100644 --- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/hostapd.uc +++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/hostapd.uc @@ -86,50 +86,50 @@ function device_cell_density_append(config) { switch (config.hw_mode) { case 'b': if (config.cell_density == 1) { - config.supported_rates = [ 5500, 11000 ]; - config.basic_rates = [ 5500, 11000 ]; + config.supported_rates ??= [ 5500, 11000 ]; + config.basic_rates ??= [ 5500, 11000 ]; } else if (config.cell_density > 2) { - config.supported_rates = [ 11000 ]; - config.basic_rates = [ 11000 ]; + config.supported_rates ??= [ 11000 ]; + config.basic_rates ??= [ 11000 ]; } ;; case 'g': if (config.cell_density in [ 0, 1 ]) { if (!config.legacy_rates) { - config.supported_rates = [ 6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 6000, 12000, 24000 ]; + config.supported_rates ??= [ 6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 6000, 12000, 24000 ]; } else if (config.cell_density == 1) { - config.supported_rates = [ 5500, 6000, 9000, 11000, 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 5500, 11000 ]; + config.supported_rates ??= [ 5500, 6000, 9000, 11000, 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 5500, 11000 ]; } } else if (config.cell_density == 2 || (config.cell_density > 3 && config.legacy_rates)) { if (!config.legacy_rates) { - config.supported_rates = [ 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 12000, 24000 ]; + config.supported_rates ??= [ 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 12000, 24000 ]; } else { - config.supported_rates = [ 11000, 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 11000 ]; + config.supported_rates ??= [ 11000, 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 11000 ]; } } else if (config.cell_density > 2) { - config.supported_rates = [ 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 24000 ]; + config.supported_rates ??= [ 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 24000 ]; } ;; case 'a': switch (config.cell_density) { case 1: - config.supported_rates = [ 6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 6000, 12000, 24000 ]; + config.supported_rates ??= [ 6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 6000, 12000, 24000 ]; break; case 2: - config.supported_rates = [ 12000, 18000, 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 12000, 24000 ]; + config.supported_rates ??= [ 12000, 18000, 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 12000, 24000 ]; break; case 3: - config.supported_rates = [ 24000, 36000, 48000, 54000 ]; - config.basic_rates = [ 24000 ]; + config.supported_rates ??= [ 24000, 36000, 48000, 54000 ]; + config.basic_rates ??= [ 24000 ]; break; } }