summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-08-15 17:41:44 +0000
committerFelix Fietkau2025-08-15 17:41:48 +0000
commit9736d42141289455eb47b6088800fd384ab732be (patch)
treeca9bb8ae0e6ba6f8c63b4c2cd17f6b1ad833082e
parent4b6d81d7c1e89c096c25b53dab1aef58961c5532 (diff)
downloadopenwrt-9736d42141289455eb47b6088800fd384ab732be.tar.gz
wifi-scripts: ucode: add support for scan_list
Speed up connecting in client mode by allowing to limit the channels that need to be scanned. Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json7
-rw-r--r--package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc4
2 files changed, 10 insertions, 1 deletions
diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json b/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
index f5f3628037..08e4c792c8 100644
--- a/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
+++ b/package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-device.json
@@ -618,6 +618,13 @@
"type": "boolean",
"default": true
},
+ "scan_list": {
+ "description": "List of frequencies (in MHz) to scan when looking for networks in client mode",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ },
"short_gi_160": {
"description": "Short GI for 160 MHz",
"type": "boolean",
diff --git a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
index 1c41e3c396..8e5697b4f3 100644
--- a/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
+++ b/package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/supplicant.uc
@@ -190,8 +190,10 @@ export function generate(config_list, data, interface) {
interface.config.country = data.config.country_code;
interface.config.beacon_int = data.config.beacon_int;
+ if (data.config.scan_list)
+ interface.config.scan_list = join(" ", data.config.scan_list);
- append_vars(interface.config, [ 'country', 'beacon_int' ]);
+ append_vars(interface.config, [ 'country', 'beacon_int', 'scan_list' ]);
setup_sta(data.config, interface.config);