|
#!/bin/sh |
|
|
|
#-------------------------------- |
|
#prime uci so any get commands don't error |
|
#-------------------------------- |
|
|
|
uci set wireless.@wifi-device[0].cycle=0 |
|
uci set wireless.@wifi-device[0].cycledOff=0 |
|
|
|
|
|
#-------------------------------- |
|
#write out script for switch |
|
#-------------------------------- |
|
|
|
/bin/cat <<"EOF" > /etc/rc.button/BTN_0 |
|
#!/bin/sh |
|
|
|
case $(uci get wireless.@wifi-device[0].cycledOff) in |
|
0) |
|
logger wifi already on |
|
;; |
|
1) |
|
wifi |
|
logger turned wifi on |
|
;; |
|
esac |
|
|
|
if [ "${ACTION}" = "released" ]; then |
|
logger BTN_0 is left |
|
uci set wireless.@wifi-device[0].cycle=0 |
|
uci set wireless.@wifi-device[0].cycledOff=0 |
|
echo 0 > /sys/class/leds/gl-mt300n-v2\:lan/brightness |
|
elif [ "${ACTION}" = "pressed" ]; then |
|
logger BTN_0 is right |
|
uci set wireless.@wifi-device[0].cycle=1 |
|
uci set wireless.@wifi-device[0].cycledOff=0 |
|
echo 1 > /sys/class/leds/gl-mt300n-v2\:lan/brightness |
|
else |
|
logger condition check failed |
|
fi |
|
|
|
EOF |
|
|
|
|
|
#-------------------------------- |
|
#write out script for cron toggle |
|
#-------------------------------- |
|
|
|
/bin/cat <<"EOF" > /sbin/wifi_toggle |
|
#!/bin/sh |
|
|
|
logger cron triggered |
|
|
|
case $(uci get wireless.@wifi-device[0].cycle) in |
|
0) |
|
logger cron triggered but cycle wifi is off |
|
;; |
|
1) |
|
case $(uci get wireless.@wifi-device[0].cycledOff) in |
|
0) |
|
logger wifi is on, so turning it off |
|
wifi down |
|
uci set wireless.@wifi-device[0].cycledOff=1 |
|
;; |
|
1) |
|
logger wifi is off, so turning it on |
|
wifi |
|
uci set wireless.@wifi-device[0].cycledOff=0 |
|
;; |
|
esac |
|
;; |
|
esac |
|
|
|
EOF |
|
|
|
|
|
#-------------------------------- |
|
#add execute permission |
|
#-------------------------------- |
|
|
|
chmod +x /sbin/wifi_toggle |
|
|
|
|
|
#-------------------------------- |
|
#setup cron |
|
#-------------------------------- |
|
|
|
echo -e "How many minutes do you want to the wifi toggle to be?" |
|
read minutes |
|
|
|
echo "removing existing crons" |
|
crontab -r |
|
|
|
echo "*/$minutes * * * * /sbin/wifi_toggle" >> mycron |
|
#install new cron file |
|
crontab mycron |
|
rm mycron |
|
crontab -l |
|
/etc/init.d/cron restart |
|
echo "all done!" |