Added dhcp config

Configure the dhcp server in the correct way, so when switching between wifi configs the it still connect.
This commit is contained in:
olijf 2016-04-05 16:44:58 +02:00
parent 039fbbb4c3
commit 05bb813f29
1 changed files with 28 additions and 4 deletions

View File

@ -9,14 +9,38 @@ if [ "$SEEN" -lt 1 ]
then
#see https://github.com/Doodle3D/doodle3d-firmware/blob/master/src/network/wlanconfig.lua#L188 for reference
#check if network on top is enabled
uci get wireless.@wifi-iface[0].disabled
RESULT=$?
if [ $RESULT -eq 0 ]
if [ $(uci get wireless.@wifi-iface[0].mode) == "sta" ];
then
logger "switching to AP"
#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 set wireless.@wifi-iface[0].disabled=1 #disable current config
uci set wireless.@wifi-iface[1].disabled=0 #enable last used network
uci reorder wireless.@wifi-iface[0]=2 #reorder networks so last used config goes to the top again
uci commit wireless #commit changes
uci commit #commit changes
/etc/init.d/network reload #reload network module so changes become effective
else
logger "switching to STA $(uci get wireless.@wifi-iface[0].mode)"
uci set wireless.@wifi-iface[0].disabled=1 #disable current config
uci set wireless.@wifi-iface[1].disabled=0 #enable last used network
uci reorder wireless.@wifi-iface[0]=2 #reorder networks so last used config goes to the top again
uci delete network.wlan
uci set network.wlan=interface
uci set network.wlan.proto=dhcp
uci delete dhcp.wlan
uci commit #commit changes
/etc/init.d/network reload #reload network module so changes become effective
fi
fi