Friday, July 24, 2015

Netgear WNR2000 v4 刷 OpenWrt 和 Gargoyle

最近淘了一个二手的WNR2000,硬件版本v4,使用AR9341单芯片方案,4MB闪存,32MB内存。发现自带固件功能太弱,可玩性不高,故刷Openwrt.

WNR2000是Openwrt支持的硬件,可以参考http://wiki.openwrt.org/toh/netgear/wnr2000,但是这个网页里的信息过时了。telnetenable已经不适用于这台WNR2000。可喜的是电路板上留有TTL焊盘,焊上排针就可以使用。离网络口隔离变压器最远的是GND,然后是RX,TX,波特率是115200。

连接上TTL即可看到终端,官方固件是基于Openwrt改造的,进入终端还有Openwrt的字符画。不过可用的指令很少。


由于官方U-Boot会在启动时检查固件的签名,因此需要先刷U-Boot,我刷了恩山论坛hackpascal编写的不死U-Boot。然后,下载Openwrt固件,可以到https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/下载最新版(下载带sysupgrade的),不带Web界面,网口顺序和指示灯都可以正常工作。如果要刷Gargoyle,可以下载WR841 V8的固件,有Web管理界面,但是WAN口和LAN4调换,指示灯不正确,无线信号也差一些。不过我选择了Gargoyle,因为它的QoS功能强大。

下载好U-Boot后,请检查文件大小,应该是0x30000。然后,将电脑和路由器LAN口相连,设置网卡IP为192.168.1.2,并运行tftp32服务器。

将路由重新启动,当终端出现press ... to stop autoboot时,按下对应键盘,即可进入命令行,输入:
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.2
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x30000
cp.b 0x80000000 0x9f000000 0x300000
即可刷写U-Boot。刷写完成后,重启路由,并按下WPS按钮,当路由上所有指示灯闪烁后,进入恢复模式。此时,用浏览器打开192.168.1.1,可以看到U-Boot控制台。

点击固件更新,勾选第二个,然后上传固件,确定后即可开始刷机,需要大约2分钟,路由器会自动重启。随后将网卡IP设置为自动获取,如果可以获得IP地址,说明刷机成功。随后可以用ssh访问路由器,Gargoyle可以直接访问Web界面,密码是password。

4 comments:

  1. 如今有专门的wnr2000v4版本的openwrt了,按照英文刷就可以了?
    https://wiki.openwrt.org/toh/netgear/wnr2000v4

    ReplyDelete
    Replies
    1. UDPtelnetenable后telnet失败,怎么破

      Delete
    2. To Unknown: 如果官方固件版本高会阻止刷Openwrt,因此需要先刷U-Boot,然后刷OpenWrt。
      To 匿名:官方固件已经修复了这个后门了,需要先刷U-Boot,需要用TTL线。

      Delete
    3. 退回.40固件后telnetenable成功了,但是无法刷入uboot,分区是有锁的

      Delete