Update 'root/etc/init.d/easymesh'

pull/1/head
ben 1 year ago
parent abb722b1fc
commit 63234790db

@ -85,17 +85,24 @@ add_wifi_mesh() {
if [ "$encryption" != 1 ]; then if [ "$encryption" != 1 ]; then
apnum="${mesh_apRadio#radio}" apnum="${mesh_apRadio#radio}"
apnum=$((apnum + 1)) apnum=$((apnum + 1))
found=0
# Check all existing wifinetX and remove if SSID matches with $mesh_id # Check all existing wifinetX and remove if SSID matches with $mesh_id and mode is 'ap'
while uci get wireless.wifinet$apnum > /dev/null 2>&1; do while uci get wireless.wifinet$apnum > /dev/null 2>&1; do
existing_ssid=$(uci get wireless.wifinet$apnum.ssid 2> /dev/null) existing_ssid=$(uci get wireless.wifinet$apnum.ssid 2> /dev/null)
if [ "$existing_ssid" = "$mesh_id" ]; then existing_mode=$(uci get wireless.wifinet$apnum.mode 2> /dev/null)
if [ "$existing_ssid" = "$mesh_id" ] && [ "$existing_mode" = "ap" ]; then
if [ $found -eq 0 ]; then
found=1
else
uci delete wireless.wifinet$apnum uci delete wireless.wifinet$apnum
fi fi
fi
apnum=$((apnum + 1)) apnum=$((apnum + 1))
done done
uci commit wireless uci commit wireless
if [ $found -eq 0 ]; then
uci set wireless.mesh_$apall.encryption='none' uci set wireless.mesh_$apall.encryption='none'
uci set wireless.wifinet$apnum=wifi-iface uci set wireless.wifinet$apnum=wifi-iface
uci set wireless.wifinet$apnum.device=$mesh_apRadio uci set wireless.wifinet$apnum.device=$mesh_apRadio
@ -109,20 +116,29 @@ add_wifi_mesh() {
uci set wireless.wifinet$apnum.ft_psk_generate_local='1' uci set wireless.wifinet$apnum.ft_psk_generate_local='1'
uci set wireless.wifinet$apnum.network='lan' uci set wireless.wifinet$apnum.network='lan'
uci commit wireless uci commit wireless
fi
else else
apnum="${mesh_apRadio#radio}" apnum="${mesh_apRadio#radio}"
apnum=$((apnum + 1)) apnum=$((apnum + 1))
found=0
# Check all existing wifinetX and remove if SSID matches with $mesh_id # Check all existing wifinetX and remove if SSID matches with $mesh_id and mode is 'ap'
while uci get wireless.wifinet$apnum > /dev/null 2>&1; do while uci get wireless.wifinet$apnum > /dev/null 2>&1; do
existing_ssid=$(uci get wireless.wifinet$apnum.ssid 2> /dev/null) existing_ssid=$(uci get wireless.wifinet$apnum.ssid 2> /dev/null)
if [ "$existing_ssid" = "$mesh_id" ]; then existing_mode=$(uci get wireless.wifinet$apnum.mode 2> /dev/null)
if [ "$existing_ssid" = "$mesh_id" ] && [ "$existing_mode" = "ap" ]; then
if [ $found -eq 0 ]; then
found=1
else
uci delete wireless.wifinet$apnum uci delete wireless.wifinet$apnum
fi fi
fi
apnum=$((apnum + 1)) apnum=$((apnum + 1))
done done
uci commit wireless uci commit wireless
if [ $found -eq 0 ]; then
uci set wireless.mesh_$apall.encryption='sae' uci set wireless.mesh_$apall.encryption='sae'
uci set wireless.mesh_$apall.key=$key uci set wireless.mesh_$apall.key=$key
uci set wireless.wifinet$apnum=wifi-iface uci set wireless.wifinet$apnum=wifi-iface
@ -138,6 +154,7 @@ else
uci set wireless.wifinet$apnum.network='lan' uci set wireless.wifinet$apnum.network='lan'
uci commit wireless uci commit wireless
fi fi
fi
} }

Loading…
Cancel
Save