TPLINK WR-703N刷openwrt心得

本文应用与改了8M的flash, 4M flash的同学请自行酌情修改。

本文为原创,如要转载请注明出处。放在blog上是为了下次自己升级时看看方便。
1. 刷官方openwrt trunk版本,下载地址 http://downloads.openwrt.org/snapshots/trunk/ar71xx/
2. 设置本机ip为192.168.1.2,网线连接703N的网口。   用Putty telent 192.168.1.1上。

passwd root

修改路由器root账户密码。
3. 用WinSCP,使用SCP方式登录路由器,192.168.1.1,修改几个配置文档(当然用命令行的vi也行,自己想吧,WinSCP方便而已)

/etc/config/wireless
config wifi-device radio0

        option type mac80211

        option channel 6

        option phy phy0

        option hwmode 11ng

        option htmode HT40- //启用150M的无线

        option noscan 1

        list ht_capab SHORT-GI-20

        list ht_capab SHORT-GI-40

        list ht_capab RX-STBC1

        list ht_capab DSSS_CCK-40

config wifi-iface

        option device radio0

        option network lan

        option mode ap

        option ssid TPLINK_703N   //SSID,按需设置

        option encryption psk2

        option key 1234567890      //密码请自行设置

/etc/config/network
config ‘interface’ ‘loopback’

        option ‘ifname’ ‘lo’

        option ‘proto’ ‘static’

        option ‘ipaddr’ ‘127.0.0.1’

        option ‘netmask’ ‘255.0.0.0’

config ‘interface’ ‘lan’

        option ‘type’ ‘bridge’

        option ‘proto’ ‘static’

        option ‘netmask’ ‘255.255.255.0’

        option ‘ipaddr’ ‘192.168.10.1’    // 仅仅为了和上级路由IP不冲突,可自行设置

config ‘interface’ ‘wan’

        option ‘ifname’ ‘eth0′

        option ‘_orig_ifname’ ‘eth0′

        option ‘_orig_bridge’ ‘false’

        option ‘proto’ ‘dhcp’               //WAN口设为从上级路由获取IP地址
修改好后,重启703N。 同时把703N用网线接到上一级带DHCP的可上网的路由器上。
4. 无线连接703N. 用putty通过ssh连接到703N上,路由器地址为上面network中的设置,这里假设为192.168.10.1。然后开始安装相应的package。 我安装的如下:
opkg update
opkg install luci               //luci界面

opkg install luci-i18n-chinese    //luci中文支持

–opkg install luci-theme-bootstrap   //luci的theme,可不装

opkg install luci-app-ddns   //ddns

opkg install luci-app-hd-idle   // usb硬盘自动休眠,usb口接硬盘用的,可不装

opkg install luci-app-samba   // samba

opkg install luci-app-upnp 

–opkg install luci-app-qos   //qos,喜欢的装

opkg install luci-app-ushare   // dlna服务,看个人喜好

opkg install luci-proto-3g   // 3g拨号支持

opkg install nfs-kernel-server   // nfs文件服务器, 要的装

opkg install usb-modeswitch-data // 国内的3g上网卡要装这个,比如我的中兴583

opkg install kmod-usb-serial-option //  3g上网卡要的

opkg install kmod-usb-storage   // 外挂usb硬盘要的

opkg install kmod-usb-ohci    //usb1.1的设备,似乎默认就装了

opkg install kmod-usb2 //默认就装了

opkg install kmod-usb-uhci  //外挂usb硬盘要的, 似乎不装也行,好像只是针对intel,via的一些控制器。

opkg install block-mount   // 自动挂载用的

opkg install kmod-fs-ntfs   // ntfs,只读

opkg install kmod-fs-ext4   // linux的ext2,3,4系统

opkg install kmod-fs-vfat   // fat,fat32

opkg install kmod-nls-utf8   // 文件系统的语言支持,想支持中文必须的

opkg install kmod-nls-cp437  // 文件系统的语言支持,可不装

opkg install kmod-nls-iso8859-1  // 文件系统的语言支持,可不装

opkg install ntfs-3g // ntfs的读写支持

–opkg install e2fsprogs // ext格式工具

–opkg install usbutils   // usb的工具

–opkg install restorefactory // reset,可不装

opkg install luci-app-transmission // transmission,爱装不装
装好后,执行下面命令,启动luci界面。

/etc/init.d/uhttpd enable

/etc/init.d/uhttpd start

在这之后就可以进入web页面配置了。详细的就不列举的。
5. 下面说些有点意思的,仅供参考,并不对所有人适用。
6. 如果经常要插usb硬盘到路由器的话,一般用自动挂载即可,如果有特殊需要,可以看下用uuid或者卷标来挂载设备。

通过sda1(sda2…)还是sdb1(sdb2…)来加载有点麻烦,因为换了设备后,根据响应速度,是a还是b就不一定了,所以,推荐用uuid或卷标

安装udev(不确认是否需要,各位可以先不装试试看)
opkg install udev

在没插入一个新设备后,先挂载,然后用blkid命令查看下uuid,记下来

# blkid

然后修改下/etc/config/fstab,就可以如下写(文件内容局部),把设备名sda1之类的换成uuid即可

….
config mount
   option target      /mnt/usbstorage
     option uuid      “409f6cf6-59f7-4f4e-bacb-14b355679c73″
   option fstype      ntfs-3g
   option options      rw,sync
   option enabled      1
   option enabled_fsck 0
config mount
   option target      /mnt/usbstorage
     option uuid      ” b06e758a-2355-485e-8ff5-b5d9d7334797 
   option fstype      ext4
   option options      rw,sync
   option enabled      1
   option enabled_fsck 0
重启就能生效了。这样不会出现设备名有sda1变为sdb1之类的问题。 


当然openwrt支持用卷标来识别。偷懒的用卷标也行。



7. NFS设置,待补充

然后根据自己的需要修改/etc/exports
root@OpenWrt:~# cat /etc/exports 
/mnt      (ro,all_squash,insecure)
8. ushare设置

9. Samba设置,待补充

模版里添加utf8

unix charset = utf-8

dos charset = uts-8


10. 利用reset键,做一个一键切换路由模式,比如按住reset0-2秒放开,切换到3g配置, 按住reset3-8秒放开,切换到ap模式,reset 9秒以上放开,切换到二级路由dhcp模式。

这部分请自行研究下,因为每个人的要求不一样,这里是自用的配置,仅仅供你们参考。

操作基本都在WinSCP下完成

a. 检测一下路由器reset按钮的名称

/etc/hotplug.d/ 下面建立一个button的新目录。

在/etc/hotplug.d/button目录下,建议一个文件名为buttons的文件,内容如下


#!/bin/sh

logger $BUTTON

logger $ACTION 
保存,然后按一下路由器上的reset按钮, 然后用putty ssh到路由上,用logread命令看下,比如

Jan 1 00:01:15 OpenWrt user.notice root:  reset    

Jan 1 00:01:15 OpenWrt user.notice root: pressed    

Jan 1 00:01:16 OpenWrt user.notice root:  reset        

Jan 1 00:01:16 OpenWrt user.notice root: released 

红色的就是按钮的名称,以下操作假设按钮名称为reset


b. 在/etc/hotplug.d/button目录下,在建立一个00-button的文件,内容如下
. /etc/functions.sh

do_button () {

           local button

           local action

           local handler

           local min

           local max


           config_get button $1 button

           config_get action $1 action

           config_get handler $1 handler

           config_get min $1 min

           config_get max $1 max


           [ “$ACTION” = “$action” -a “$BUTTON” = “$button” -a -n “$handler” ] && {

                       [ -z “$min” -o -z “$max” ] && eval $handler

                       [ -n “$min” -a -n “$max” ] && {

                                   [ $min -le $SEEN -a $max -ge $SEEN ] && eval $handler

                       }

           }

}


config_load system

config_foreach do_button button


保存。


c.在/usr/bin/ 下键三个文件


文件change2ap:   //仅作ap的配置,ip会从上级路由的dhcp获得


#!/bin/sh

uci delete network.wan

uci delete network.lan

uci set network.lan=interface

uci set network.lan.ifname=eth0

uci set network.lan.type=bridge

uci set network.lan.proto=static

uci set network.lan.ipaddr=192.168.1.2      //ip地址不要和上级路由重复,但需要在同一个网段

uci set network.lan.netmask=255.255.255.0

uci set network.lan.gateway=192.168.1.1   //上级路由ip

uci set network.lan.dns=192.168.1.1         //上级路由ip

uci commit network

uci set dhcp.lan.ignore=1      //关闭本机dhcp,这样无线连接的设备会从上级路由得到ip地址

uci commit dhcp

reboot


文件change23g:    //3g配置
#!/bin/sh

uci delete network.wan

uci delete network.lan

uci set network.lan=interface

uci set network.lan.ifname=eth0

uci set network.lan.type=bridge

uci set network.lan.proto=static

uci set network.lan.ipaddr=192.168.1.1         //路由ip

uci set network.lan.netmask=255.255.255.0

uci set network.wan=interface

uci set network.wan.ifname=ppp0

uci set network.wan.proto=3g

uci set network.wan.maxwait=0

uci set network.wan.service=evdo             // 3g这段请根据自己的上网卡做配置,这里按电信的做配置

uci set network.wan.device=/dev/ttyUSB0

uci set network.wan.username=ctnet@mycdma.cn      //电信的用户

uci set network.wan.password=vnet.mobi          

uci set network.wan.auto=1

uci commit network

uci delete dhcp.lan.ignore   //开启路由dhcp功能

uci commit dhcp

reboot

文件change2dhcp: //二级路由配置

#!/bin/sh

uci delete network.wan

uci delete network.lan

uci set network.lan=interface

uci set network.lan.type=bridge

uci set network.lan.proto=static

uci set network.lan.ipaddr=192.168.10.1

uci set network.lan.netmask=255.255.255.0

uci set network.wan=interface

uci set network.wan.ifname=eth0

uci set network.wan.proto=dhcp

uci set network.wan._orig_ifname=eth0

uci set network.wan._orig_bridge=false

uci commit network

uci delete dhcp.lan.ignore

uci commit dhcp

reboot

全部保存后,修改文件权限为755。 必须要改,否则可能执行不了。
d. 修改 /etc/config/system 配置,在尾部添加如下信息
config button

option button ‘reset’

option action ‘released’

option handler ‘/usr/bin/change23g’

option min ‘0’

option max ‘2’
config button

option button ‘reset’

option action ‘released’

option handler ‘/usr/bin/change2ap’

option min ‘3’

option max ‘8’
config button

option button ‘reset’

option action ‘released’

option handler ‘/usr/bin/change2dhcp’

option min ‘9’

option max ’99’

保存。 重启路由即可。 这样以后,按住reset2秒内,   3-8秒 和 9秒以上,会自动切换到对应的网络配置,并自动重启路由器。 呵呵方便点而已。免得还得进web进行修改。
以上万一有不对的请见谅。

另外。万一不小心改成砖头了,请在插上电源的瞬间,按住reset键一会,看到led等疯狂闪动后, 设置本机ip为192.168.1.2, 连接网线到路由,telnet到192.168.1.1,   执行firstboot命令,重启路由即可恢复最初没web界面的状态。
20120905版4M固件: 1. 720N固件,基于703N修改。TP-Link原厂固件请factory,已经是OpenWrt了就sysupgrade。 且此固件后可直OpenWrt 703NOpenWrt 720N、TP-Link 703NTP-Link 720N固件,不用改固件头。 2. 4M固件,当然8M的flash也可以。 3. 支持MentoHUST(锐捷认证)、3G、NAS(仅支持ext4,不支持ntfs)、共享手机网络、MWAN2负载均衡、打印服务器、 远程唤醒、8187 3070、瑞银网卡,剩余200多K空间,具体见截图。 因试过4M空间集成脱机、NAS等有难度,故不再出4M的脱机固件,请用extroot扩展后自行安装。 4. MentoHUST没有条件测试,如不能自动获取IP,请把Web界面的DHCP script的值由“udhcpc -i”改成“udhcpc -renew”试试。 5. 关于extroot(既用U盘引导系统),没想到现在这么简单了。 简单说下:先把U盘在电脑里格式化成ext3或ext4。插上U盘,命令行运行blkid得到U盘的UUID值,复制到管理界面的相应UUID, 挂载选项“rw,sync”删掉后面的umask=000。然后勾上extroot和启用,文件系统选对应的ext3或ext4,保存应用OK。 重启下,看看剩余空间大了没,呵呵。 (umask=000只是为了让samba可写而加的参数。挂载USB存储设备时,如果不用samba请删之。) 6. 按住reset键30秒后led闪烁,60秒之前松开reset键则恢复出厂设置。 7. LAN/WAN两个网口正常。 8. 默认开启WiFi,无密码。 9. 支持模式切换开关,定义如下: AP: 开启共享手机网络、开启无线 3G: 关闭共享手机网络、开启无线 Router:关闭共享手机网络、关闭无线 10.解释下共享手机网络,OpenWrt官方称为USB Tethering,指openwrt路由器通过USB连接智能手机, 而智能手机的网络共享给openwrt使用。 目前固件只支持Android系统共享网络功能,而支持iPhone需要集成的软件太多,空间有限,如果出8M固件 再考虑吧。 Android本来就支持WiFi热点,可能有点画蛇添足吧,呵呵。我是偶然发现openwrt还支持这个功能, 所以就研究了下,也许在某些情况下这个功能还是有用的吧。 使用方法: a. 路由器模式开关切换至AP位置。 b. 用USB线连接路由器与手机。 c. 手机USB连接管理里面,选择 除了“内存卡读取”的其他模式,比如:选择“仅充电”; 然后在“设置”--“系统”里面找到“共享手机网络”,开启“USB绑定”就好了。 回到openwrt界面,会发现有个usb0的接口,已经自动获取了IP,这样openwrt就能使用手机 的网络了。 11.关于MWAN2负载均衡,效率还不错,还支持基于session的负载均衡,使用方法见/etc/config/mwan2里面的注释。 mwan2的作者新出了mwan3,有兴趣可以去看看:https://forum.openwrt.org/viewtopic.php?id=39052 12.703n本固件,但是完后lan口不能用。需先用无线连接,然后编辑/etc/config/network , 删除其中wan口配置,把lan的eth0改成eth1后,lan就可以用了。 如703n原厂固件web界面请factory,且需要先把固件标识改成07030101才能。 13.再说下打印服务器,没有测试,不知道这个版本能不能用,但20120803版有人试过可用,有需求请自行下载。trunk就是不稳定啊, 没办法~~ 14.刷机有风险,变砖本人概不负责。 吐糟一下,如3G有掉线问题,请看日志中是否出现“No response to 5 echo-requests”。 而解决这个问题,除了降低无线功率或者干脆关闭无线外,我是没找到其他更好的办法(可能和3G网卡有关)。 曾经尝试过换电源增强供电、用带外接电源的usb-hub,包括尝试TP-LINK原厂固件也一样掉线。还有修改/etc/ppp/options里 的lcp-echo-interval,把值改大点后是不掉线了,但是3G其实已经断流了,没什么意义。我用MU350网卡试过FW300R、FWR171-3G 还有720N这几个路由都是这样。不知道是TP-Link设计问题,还是td-scdma这种垃圾芯片功率过高的问题,或者Atheros芯片 的设计缺陷? 百撕不得骑姐啊!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值