2016-04-05 14:24:29 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
[ "${ACTION}" = "released" ] || exit 0
|
|
|
|
|
|
|
|
. /lib/functions.sh
|
|
|
|
|
2016-04-08 14:47:06 +02:00
|
|
|
count_networks() {
|
2016-04-07 16:23:22 +02:00
|
|
|
local config="$1"
|
2016-04-08 14:47:06 +02:00
|
|
|
logger $config
|
|
|
|
count=$((count + 1))
|
|
|
|
# run commands for every interface section
|
|
|
|
}
|
|
|
|
find_network() {
|
|
|
|
local config="$1"
|
|
|
|
succes=false
|
|
|
|
#logger $(uci get wireless.$config.ssid)
|
|
|
|
network_name=$(uci get wireless.$config.ssid)
|
|
|
|
if [ ${network_name:0:8} != "Doodle3D" ]
|
|
|
|
then
|
|
|
|
logger "deleting network $network_name"
|
|
|
|
uci delete wireless.$config
|
|
|
|
else
|
|
|
|
$succes=true
|
|
|
|
logger "enabled $network_name"
|
|
|
|
uci set wireless.$config.disabled=0
|
|
|
|
fi
|
2016-04-07 16:23:22 +02:00
|
|
|
}
|
|
|
|
|
2016-04-05 14:24:29 +02:00
|
|
|
logger "$BUTTON pressed for $SEEN seconds"
|
2016-04-08 14:47:06 +02:00
|
|
|
if [ "$SEEN" -gt 4 ]
|
2016-04-05 14:24:29 +02:00
|
|
|
then
|
2016-04-08 14:47:06 +02:00
|
|
|
#count number of networks
|
|
|
|
config_load wireless
|
|
|
|
config_foreach count_networks wifi-iface
|
|
|
|
logger $count
|
|
|
|
#if number of networks is less than 1 (or 1) do nothing
|
|
|
|
if [ $count -gt 1 ]
|
2016-04-05 14:24:29 +02:00
|
|
|
then
|
2016-04-08 14:47:06 +02:00
|
|
|
logger "switching to AP"
|
|
|
|
config_foreach find_network wifi-iface
|
|
|
|
if [ $succes != false ]
|
2016-04-07 11:16:31 +02:00
|
|
|
then
|
2016-04-08 14:47:06 +02:00
|
|
|
logger "wireless somehow not found"
|
2016-04-07 11:16:31 +02:00
|
|
|
fi
|
2016-04-05 16:44:58 +02:00
|
|
|
#configure dhcp
|
|
|
|
uci delete network.wlan
|
|
|
|
uci set network.wlan=interface
|
|
|
|
uci set network.wlan.netmask=$(uci get wifibox.general.network_ap_netmask)
|
|
|
|
uci set network.wlan.proto=static
|
|
|
|
uci set network.wlan.ipaddr=$(uci get wifibox.general.network_ap_address)
|
|
|
|
|
|
|
|
uci set dhcp.wlan=dhcp
|
|
|
|
uci set dhcp.wlan.start=100
|
|
|
|
uci set dhcp.wlan.leasetime=12h
|
|
|
|
uci set dhcp.wlan.limit=150
|
|
|
|
uci set dhcp.wlan.interface=wlan
|
|
|
|
|
|
|
|
uci commit #commit changes
|
|
|
|
/etc/init.d/network reload #reload network module so changes become effective
|
2016-04-07 16:23:22 +02:00
|
|
|
logger "setting status flag in /tmp/networkstatus.txt"
|
2016-04-05 17:22:37 +02:00
|
|
|
echo "4|" > /tmp/networkstatus.txt
|
2016-04-05 14:24:29 +02:00
|
|
|
fi
|
|
|
|
fi
|