Wifi Toggle
软件包'wifitoggle'可以实现和这些代码相同的功能
利用下面的脚本,可以用SES按钮来开关WIFI。首先,增加一个热插拔事件的句柄,用以反映按钮按下事件。其次,增加一段开关脚本,根据当前状态来开启或是关闭WIFI。
注意: 如果你使用加密的无线网络,nas和radius守护进程在开关时并不真正关闭,而是继续占用cpu和内存资源。但这并不消耗太多的资源,因为根本没有客户端接入。
开关脚本
在目录/sbin下创建一个名为woggle的文件,把下面的代码粘贴进去:
#!/bin/sh
case "$(uci get wireless.@wifi-device[0].disabled)" in
1)
uci set wireless.@wifi-device[0].disabled=0
wifi
echo 1 > /proc/diag/led/ses_white
;;
*)
uci set wireless.@wifi-device[0].disabled=1
wifi
echo 0 > /proc/diag/led/ses_white
echo 2 > /proc/diag/led/wlan
;;
esac |
使用命令chmod +x /sbin/woggle来赋予它可执行属性。
热插拔事件句柄
为了跟踪热插拔事件,需要在/etc/hotplug.d位置创建一个目录,名为button,然后在/etc/hotplug.d/button下创建名为01-radio-toggle的文件。
以下是文件内容:
#!/bin/sh
if [ "$BUTTON" = "ses" ] && [ "$ACTION" = "pressed" ] ; then
( sleep 1; /sbin/woggle ) &
fi |
现在,每次你想开关WIFI时就可以通过按按路由器上的按钮来实现了!当然,你也可以通过在OpenWrt shell中调用一个名为woggle的命令来实现。
zh-cn/doc/howto/wifitoggle.txt · Last modified: 2012/11/21 02:50 by smallerxie
This text is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
