#!/bin/sh
# Copyright (c) 2010 flukso.net

to_wifi ()
{
	uci set firewall.@zone[1].input=REJECT
	uci set network.wan.ifname=ath0
	uci set network.lan.ifname=eth0
	uci set wireless.wifi0.disabled=0
	uci set wireless.@wifi-iface[0].network=wan
	uci set wireless.@wifi-iface[0].mode=sta
	uci commit
	logger 'toggled to wifi mode'
}

to_eth ()
{
	uci set firewall.@zone[1].input=ACCEPT
	uci set network.wan.ifname=eth0
	uci set network.lan.ifname=ath0
	uci set wireless.wifi0.disabled=1
	uci set wireless.@wifi-iface[0].network=lan
	uci set wireless.@wifi-iface[0].mode=ap
	uci commit
	logger 'toggled to eth mode'
}


MODE=$(uci get network.wan.ifname)

if [ $MODE == eth0 ]
then
	to_wifi
elif [ $MODE == ath0 ]
then
	to_eth
fi

gpioctl dirout 4

for i in 1 2 3 4 5
do
	gpioctl clear 4
	gpioctl set 4
done

/etc/init.d/network restart
