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''的命令来实现。 | ||
zh-cn/doc/howto/wifitoggle.txt · Last modified: 2012/11/21 02:50 by smallerxie
