mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
netmode: save wet config when entering repeater mode #16601
This commit is contained in:
parent
b1bd71033e
commit
253865d22f
3 changed files with 78 additions and 0 deletions
|
|
@ -0,0 +1,37 @@
|
|||
#if wet in wireless config and SSID nad KEY was saved for it, apply to config
|
||||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
parse_wet_json()
|
||||
{
|
||||
local interface=$1
|
||||
local mode key encryption ssid connect_bssid
|
||||
|
||||
config_get mode $interface mode
|
||||
[ "$mode" = "wet" ] || return
|
||||
|
||||
json_load "$(cat /tmp/netmodecfg)" 2> /dev/null
|
||||
json_get_var ssid ssid
|
||||
json_get_var key key
|
||||
json_get_var encryption encryption
|
||||
json_get_var connect_bssid connect_bssid
|
||||
|
||||
uci -q set wireless.$1.key="$key"
|
||||
uci -q set wireless.$1.encryption="$encryption"
|
||||
uci -q set wireless.$1.ssid="$ssid"
|
||||
uci -q set wireless.$1.connect_bssid="$connect_bssid"
|
||||
uci commit wireless
|
||||
}
|
||||
|
||||
apply_wet_cfg()
|
||||
{
|
||||
[ -f /tmp/netmodecfg ] || return
|
||||
|
||||
config_load wireless
|
||||
config_foreach parse_wet_json "wifi-iface"
|
||||
|
||||
rm /tmp/netmodecfg 2> /dev/null
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
#if mode wet in wireless config has SSID Key, save them
|
||||
#!/bin/sh
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
parse_wet_cfg()
|
||||
{
|
||||
local interface=$1
|
||||
local mode key encryption ssid connect_bssid
|
||||
|
||||
config_get mode $interface mode
|
||||
[ "$mode" = "wet" ] || return
|
||||
|
||||
config_get ssid $interface ssid
|
||||
config_get key $interface key
|
||||
config_get encryption $interface encryption
|
||||
config_get connect_bssid $interface connect_bssid
|
||||
|
||||
[ -n "$key" ] || return
|
||||
[ -n "$encryption" ] || return
|
||||
|
||||
json_init
|
||||
json_add_string "ssid" "$ssid"
|
||||
json_add_string "key" "$key"
|
||||
json_add_string "encryption" "$encryption"
|
||||
json_add_string "connect_bssid" "$connect_bssid"
|
||||
|
||||
echo "`json_dump`" > /tmp/netmodecfg
|
||||
}
|
||||
|
||||
save_wet_cfg()
|
||||
{
|
||||
config_load wireless
|
||||
config_foreach parse_wet_cfg "wifi-iface"
|
||||
}
|
||||
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /etc/netmodes/repeater_mtk_5g_up_dual_down/scripts/pre/save_wet_cfg.sh
|
||||
. /etc/netmodes/repeater_mtk_5g_up_dual_down/scripts/post/apply_wet_cfg.sh
|
||||
. /lib/functions.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
|
|
@ -180,6 +182,7 @@ switch_netmode() {
|
|||
run_netmode_scripts $curmode "pre"
|
||||
|
||||
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
|
||||
save_wet_cfg
|
||||
for file in $(ls /etc/netmodes/$curmode/); do
|
||||
case "$file" in
|
||||
DETAILS|scripts) continue ;;
|
||||
|
|
@ -187,6 +190,7 @@ switch_netmode() {
|
|||
cp /etc/netmodes/$curmode/$file /etc/config/
|
||||
done
|
||||
sync
|
||||
apply_wet_cfg
|
||||
|
||||
local reboot=$(uci -q get netmode.$curmode.reboot)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue