TL-WR720N路由器刷OpenWrt与变砖记

2016-04-01 21:50:36 RouterOpenWrt

想给路由器设置自动连VPN,于是决定给我的720N刷个OpenWrt,但是进行得不是那么顺利。

其实一开始都没什么问题,只是在第二次刷的时候操作失误,导致变砖。现记录下来,给自己一个教训吧。

下载固件

OpenWrt官网下载页面找到适用路由器型号的固件,我的720N属于ar71xx芯片,因此应在这里下载。

注意:

  • 官网下载页面里的Snapshots是自动更新的,如果想找其他版本的OpenWrt,应在下面对应版本的页面里找。
  • 同一型号的路由器可能会有不同的硬件版本,我的720N是V4,因此要下载V4版本的固件。想查自己的路由器是什么版本的,可在路由器管理页面里查(下面有图)。
  • 另外,注意到固件还有factory和sysupgrade两个版本。factory用于初次刷,sysupgrade用于OpenWrt再重刷OpenWrt (但是用factory版也可以)。因此我需要使用openwrt-ar71xx-generic-tl-wr720n-v4-squashfs-factory.bin刷。
  • 如果确实要选择某个版本的OpenWrt,一定要去路由器wiki页面查看路由器支持哪个版本的OpenWrt。比如720N的wiki页面就在这里

开刷

进入路由器管理界面,直接刷即可。总过程不会超过3分钟。

配置

登录

720N有一个WAN口一个LAN口。将电脑IP设置为自动获取,拿网线连接电脑与路由器WAN口。接着,使用任一款可以SSH的软件,SSH到192.168.1.1,用户为root,密码为空。(这里并不像网上所说的那样要先telnet再修改root密码才能开启SSH)

我使用的是Xshell。

720N总共有32M RAM,4M flash,我们可以看到刷完之后flash只剩不到500K了。

修改root密码

执行passwd即可。

配置网卡信息

执行ifconfig可以查询网卡信息

我们可以看到有eth0和eth1两个网卡,即一个是WAN口一个是LAN口。

接下来就要修改有线和无线的配置文件了。怕修改错的话可以先备份一下:

cd /etc
mkdir config-bak
cp config/* config-bak

有线设置

先修改有线的设置:

打开/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 globals 'globals'
        option ula_prefix 'fd71:6b18:6ac5::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth0'
        option proto 'dhcpv6'

从这里我们看出eth0是WAN口,eth0是LAN口。我的需求是配置静态IP,且要修改MAC地址,因此配置如下(修改了的地方已经标出):

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd71:6b18:6ac5::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0'
        option proto 'static'                     #=UPDATE=#
        option ipaddr '219.225.45.16'             #=UPDATE=#
        option netmask '255.255.255.0'            #=UPDATE=#
        option gateway '219.225.45.254'           #=UPDATE=#
        option dns '202.204.105.1, 202.204.105.5' #=UPDATE=#
        option macaddr 'AA:AA:AA:AA:AA:AA'        #=UPDATE=#

config interface 'wan6'
        option ifname 'eth0'
        option proto 'dhcpv6'

更多有线设置可以参考官方文档

无线设置

再修改无线的设置:

打开/etc/config/wireless

自带的配置信息如下:

config wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'platform/ar933x_wmac'
        option htmode   HT20
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1

config wifi-iface
        option device   radio0
        option network  lan
        option mode     ap
        option ssid     OpenWrt
        option encryption none

注意:一定要注释掉或者删掉option disabled 1这行才能开启无线!

修改ssid即可修改无线名称,encryption即为加密方式,psk2即为WPA2加密,因此配置如下(修改了的地方已经标出):

onfig wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'platform/ar933x_wmac'
        option htmode   HT20
        # REMOVE THIS LINE TO ENABLE WIFI:
        #option disabled 1           #=UPDATE=#

config wifi-iface
        option device   radio0
        option network  lan
        option mode     ap
        option ssid     OpenWrt-fz   #=UPDATE=#
        option encryption psk2       #=UPDATE=#
        option key      XXXXXXXX     #=UPDATE=#

更多无线设置可以参考官方文档

重启

其实有线的设置是可以通过/etc/init.d/network reload命令应用的,但是无线并没有这个命令,所以配置好之后要执行reboot重启一下。

安装软件

完成上述步骤后,转连网线至路由器LAN口(不知道还用WAN口行不行,我没有试,理论上应该也是可以的,毕竟720N的WAN口也可以当LAN口用)。

本来这一步是要装luci、ppp-mod-pptp这些软件的,具体命令大致如下:

opkg update
opkg install luci
opkg install ppp-mod-pptp

但是我并没有装成功。一直提示内存不够,不知道到底是什么原因。这直接导致我进行二次刷机。

失误

由于装不进去软件,我就想重新刷一个sysupgrade版的,然而这就是悲剧的开始。

首先,我开启了电脑上的apache服务器,在路由器中使用wget进行下载,之后执行

mtd -r write openwrt-ar71xx-generic-tl-wr720n-v4-squashfs-sysupgrade.bin firmware

但是我犯了一个关键性的错误,就是没有进入/tmp目录。我是在~下进行的wget操作,这样的话,由于flash空间只剩下几百K,3M多的bin文件并不能完整下下来(然而wget依然会提示完成100%了),所以下下来的文件是不完整的,我刷完路由器就成砖了。

正确的做法是进入/tmp目录进行wget操作,再进行mtd刷机。因为/tmp是挂载到RAM的,而这一空间足以存放bin文件,但是flash空间只有几百K,根本放不下。

后续

我试图焊电路板使用TTL拯救它,但是失败了,不知道为什么,毕竟这不是我的强项。以后有时间了自己买套工具再试一下,老是跑实验室太麻烦了。

吐槽

  • 720N这路由器太难拆了,比703N复杂太多了,实验室某大力出奇迹的小伙伴拿我路由拆的时候,把电路板上一贴片弄掉了。不过事后HHJ告诉我这只是个0欧电阻,直接短接就可以了。

  • 原厂固件其实真的挺好用的。

  • 真想折腾这种小玩意的话,还是建议搞个树莓派玩(或者低功耗主机),路由器这种东西除了功耗还真没有什么其他的优势了。

  • 今早去实验室焊电路板的时候,实验室一小伙伴插了网线上去之后导致某几个小伙伴上不了网,换了个交换机上的另一个网口(实验室的交换机是机架式交换机),又导致ACM服务器上不了网了。我检查了半天线路和服务器,最后发现那位小伙伴把IP最后一位填成了254的网关地址。也就是说,只要机器到真正的254速度没有到他的电脑的速度快,就上不了网。具体表现就是,在交换机上离他插的网口近的网口,基本上都上不了网。I'm angry!

如果长时间无法加载评论,请对 *.disqus.com 启用代理!