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的命令来实现。

Back to top

zh-cn/doc/howto/wifitoggle.txt · Last modified: 2012/11/21 02:50 (external edit)