summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle2021-11-20 01:43:20 +0000
committerJohn Crispin2024-10-02 13:41:33 +0000
commitb9eadcf318f55215fbbac62e05b17ea7223eb6f8 (patch)
tree2b1a848dc049718e19dd27c3d8586668f667cf13
parent3ed5f6430b0f07116fabc3d45e5ee1cb7280f6d2 (diff)
downloadopenwrt-b9eadcf318f55215fbbac62e05b17ea7223eb6f8.tar.gz
base-files: uci-defaults: allow setting wireless defaults
Introduce new uci-default functions: - ucidef_set_wireless band ssid [encryption] [key] - ucidef_set_country cc They are supposed to be used in /etc/board.d/* scripts to define board-specific defaults for wireless. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: John Crispin <john@phrozen.org>
-rw-r--r--package/base-files/files/lib/functions/uci-defaults.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index b89cc8e9e3..ba7288c2c6 100644
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -642,6 +642,41 @@ ucidef_set_hostname() {
json_select ..
}
+ucidef_set_wireless() {
+ local band="$1"
+ local ssid="$2"
+ local encryption="$3"
+ local key="$4"
+
+ case "$band" in
+ all|2g|5g|6g) ;;
+ *) return;;
+ esac
+ [ -z "$ssid" ] && return
+
+ json_select_object wlan
+ json_select_object defaults
+ json_select_object ssids
+ json_select_object "$band"
+ json_add_string ssid "$ssid"
+ [ -n "$encryption" ] && json_add_string encryption "$encryption"
+ [ -n "$key" ] && json_add_string key "$key"
+ json_select ..
+ json_select ..
+ json_select ..
+ json_select ..
+}
+
+ucidef_set_country() {
+ local country="$1"
+
+ json_select_object wlan
+ json_select_object defaults
+ json_add_string country "$country"
+ json_select ..
+ json_select ..
+}
+
ucidef_set_ntpserver() {
local server