[PATCH 08/11] wifi-scripts: populate default wifi credentials and country code from board.json
John Crispin
john at phrozen.org
Mon Sep 23 10:18:22 PDT 2024
Signed-off-by: John Crispin <john at phrozen.org>
---
.../wifi-scripts/files/lib/wifi/mac80211.uc | 22 +++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc b/package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc
index b68167b754..9fd6c35e8b 100644
--- a/package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc
+++ b/package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc
@@ -71,20 +71,34 @@ for (let phy_name, phy in board.wlan) {
if (match(phy_name, /^phy[0-9]/))
id = `path='${phy.path}'`;
+ band_name = lc(band_name);
+
+ let country, defaults, num_global_macaddr;
+ if (board.wlan.defaults) {
+ defaults = board.wlan.defaults.ssids?.[band_name]?.ssid ? board.wlan.defaults.ssids?.[band_name] : board.wlan.defaults.ssids?.all;
+ country = board.wlan.defaults.country;
+ if (!country && band_name != '2g')
+ defaults = null;
+ num_global_macaddr = board.wlan.defaults.ssids?.[band_name]?.mac_count;
+ }
+
print(`set ${s}=wifi-device
set ${s}.type='mac80211'
set ${s}.${id}
-set ${s}.band='${lc(band_name)}'
+set ${s}.band='${band_name}'
set ${s}.channel='${channel}'
set ${s}.htmode='${htmode}'
-set ${s}.disabled='1'
+set ${s}.country='${country || ''}'
+set ${s}.num_global_macaddr='${num_global_macaddr || ''}'
+set ${s}.disabled='${defaults ? 0 : 1}'
set ${si}=wifi-iface
set ${si}.device='${name}'
set ${si}.network='lan'
set ${si}.mode='ap'
-set ${si}.ssid='OpenWrt'
-set ${si}.encryption='none'
+set ${si}.ssid='${defaults?.ssid || "OpenWrt"}'
+set ${si}.encryption='${defaults?.encryption || "none"}'
+set ${si}.key='${defaults?.key || ""}'
`);
commit = true;
--
2.34.1
More information about the openwrt-devel
mailing list