WNR2000v3变砖修复

2013-06-04 08:22

路由器固件的组成

一般路由器的flash固件包括多个部分,首先是一个bootloader,引导固件的正常启动,之后是linux kenel,接着是一个根文件系统,包括的部分的软件包都安装在根文件系统中,最后是一个art块儿,也叫NVRAM,其中包含MAC地址以及无线配置等信息。根文件系统和kernel组成了常说的固件,刷机或者更新固件都只是改变后面的几个部分,bootloader一般不会改变。

WNR2000V3的官方固件是从openwrt修改而来,bootloader采用的是经典的开源bootloader uboot。在刷机时若路由器变砖,一般分为一下几种原因,不同的原因对应不同的修复方法。

变砖修复

在路由器的书籍过程中,稍有不慎,路由即会变砖,此时根据路由器不同的状态采取不同方式可以修复变砖的路由,经过几天的摸索总结出一下集中方法。

uboot损坏

这是最严重的变砖原因,症状表现为路由器开机后即死在那里不动,TTL终端没有任何输出。因为uboot损坏,不但不能引导系统启动,uboot自己也不能启动。所以此时系统没有任何可交互的手段去修复,唯一可行的是采用Jtag线重写flash,WNR2000v3具有Jtag接口,但目前还未掌握这一手段来修复路由器,理论上这一方法是解决路由器变砖的终极方法,任何变砖的情况都是可以采用这种方法解决的,但可能比较复杂。

firmware损坏

这里的固件即指上文中提到的根文件系统和kernel,这一部分损坏后,路由器表现为无限重启动,接入TTL线可看到uboot正常启动了,但在启动固件时,出现错误。此时,可以对于WNR2000v3可以采用多种方法修复,官方提供了专门的WNR2000v3固件修复工具,配置好连接后可以修复固件。也可以进入常按reset键进入TFTP修复模式,重新上传官方固件即可修复。还可以用TTL终端用命令写入Img来修复。

nvram损坏

这种情况下路由器能正常启动,但不能工作,无线有限网络等出现故障,这种情况下只要长按reset键恢复出厂设置即可修复。也可进入TTL终端恢复出厂设置。

特殊情况

在之前的刷机过程中,出现了firmware损坏,路由器变砖,但无论何种方法都不能正常把官方固件写入flash的情况,此时从TTL终端得到的信息原因是board_hw_id和image_hw_id不一致,以及board_model_id和image_model_id不一致。经过摸索,此时因为这两个参数不一致,导致使用任何方法都不能写入flash,最后发现uboot终端中提供了两个命令

```bash

board_hw_id_set
board_model_id_set
```

这两个命令可以修改相应的参数,并且直接写入flash,通过执行这两个命令把boadrid改为和image的id相同,即可正常的把官方image写入flash,从而修复路由。


标签: netgear openWRT

分享到: