Chinaunix首页 | 论坛 | 博客
  • 博客访问: 862963
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1841
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-09 16:26
文章分类

全部博文(286)

文章存档

2016年(38)

2015年(248)

我的朋友

分类: LINUX

2015-06-14 21:30:42

网件WNDR3700刷OpenWrt后如何设置?

WNDR3700是网件NETGEAR旗下的经典款无线路由器。4个千兆网口+2.4G/5G双频+USB接口,双频均支持300Mbps,WIFI和电源均有独立开关。

虽然放到现在看来,性能已经没法跻身高端路由器的前几名了,但是再怎么说也是曾经的“世界最强”,该有的特性基本齐全。尤其是v2版本AR7161/64M/16M的配置,刷个OpenWrt,一般用途还是完全能够满足的。

下面结合自己玩路由器的经验,简单谈下这款路由器刷了OpenWrt之后有哪些必须的设置。因为感觉WNDR3700刷Backfire10.03.1之后,默认的几个设置比较别扭,可能是官方编译镜像的时候没有一一针对每款路由单独设置。因此这里讨论一下如何进行几个必要的设置使你的WNDR3700用起来更舒服。旨在普及,高手勿喷……

讨论局限于以下的范围:

硬件:Netgear WNDR3700 V2

系统:OpenWrt Backfire 10.03.1 Final

范围:基本的一些设置LuCi界面已经做得很好了,因此这里不讨论那些不需要下载软件包且通过LuCi就能完成的设置,请自行摸索。

 

一、交换机LED指示灯的设置

WNDR3700交换机LAN口1-4每个端口都有橘黄色和绿色两个LED,而且可以闪烁。网件原生的固件对于这4个交换机端口的LED定义为:

  • 10/100Mbps连接亮橘黄色,有数据传输时闪烁;
  • 1000Mbps连接亮绿色,有数据传输时闪烁;

感觉网件官方的设置比较合适,但是刷OpenWrt后,这4个交换机LED只能亮橘黄色。因此需要重新配置。方法为:

swconfig dev rtl8366s port 1 set led 6
swconfig dev rtl8366s port 2 set led 9

WLAN口只有橘黄色的LED,不要妄想……

 

二、USB LED指示灯的设置

首先需要一个安装一个软件包(kmod-leds-wndr3700-usb)来支持WNDR3700的USB LED。可以在LuCi界面的System - Software中安装,我还是比较习惯用命令行模式:

  • SSH到你的路由器
  • opkg update
  • opkg install kmod-leds-wndr3700-usb

之后可以在LuCi的System - LED Configuration中控制USB LED的默认状态。如果你希望插入USB设备的时候指示灯点亮,卸载之后熄灭,需要进行如下配置:

增加一个入口 '/etc/hotplug.d/usb/10-usb',内容如下:

#!/bin/sh
# Copyright (C) 2009 OpenWrt.org
case "$ACTION" in
    add)
        # update LEDs
        echo "255" >/sys/devices/platform/wndr3700-led-usb/leds/wndr3700:green:usb/brightness
        ;;
    remove)
        # update LEDs
        echo "0" >/sys/devices/platform/wndr3700-led-usb/leds/wndr3700:green:usb/brightness
        ;;
esac

LED现在应该可以随着USB设备的插入/卸载而变化。请不要妄想更多功能,比如随着USB设备的读写而闪烁……

 

三、WiFi开关按钮

WNDR3700默认是提供了WiFi开关的,原生固件也支持这个功能。对于比较在意辐射什么的人来说,这是个不错的功能。当然从安全性角度来讲也很好!

有资料称只这款路由器需要安装Wifi Toggle软件包后,路由器就能够自动支持WiFi开关的功能。但是我在 Back Fire, Trunk 和 Attitude Adjustment 版本上都尝试了,似乎都不行。尝试改了改/etc/wifitoggle/配置文件也没成功。

参考,提供一个比较底层的方法,可能WiFi Toggle也是这么做的吧,思路是:

首先,增加一个用于跟踪热插拔事件的句柄,在按钮按下时触发。其次,增加一段开关WiFi的脚本,根据当前的WiFi状态开启或是关闭WIFI。

步骤:

一、开关脚本

在目录/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的命令来实现。

 

四、其他

WPS按键在Backfire版本中的名称为BTN_1,在Trunk版本中的名称为wps。

WPS功能我实在用不到,配置好像略复杂,也没仔细研究。我是把WPS按钮用作测试一个锐捷认证的功能了,当然我觉得用它来执行reboot也是不错的选择,方法请自行参考WiFi开关那部分照猫画虎……

 

阅读(3550) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~