Differences

This shows you the differences between two versions of the page.

zh-cn:doc:howto:wifitoggle [2012/11/21 02:50] (current)
smallerxie created by Xie Yuchen
Line 1: Line 1:
 +
 +====== 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 by smallerxie