Buffalo WHR-HP-GN-CH救砖手记
转载自http://blog.sina.com.cn/s/blog_4162deb801012so6.html
前段时间把一年多前买的WHR-HP-GN-CH(CH是指中国版,不知道和一般版本有什么区别)刷砖了。本来是听说OpenWrt支持了WHR-HP-GN了,想弄个OpenWrt玩玩,结果被mtd坑爹了。
砖掉的具体症状是一段启动过程后,Diag(红)灯闪,不能ping通,不能连接,总之是块挺标准的砖头。
上网查找各种方案,下了官方固件(185,182)、官方DD-WRT固件(美国官网有)、DD-WRT固件(最新版),尝试了各种tftp软件(tftp2,win7自带,Linux下的tftp/tftp-hpa,RouterTool,tftpd32),使用各种姿势连接方式(直接连接、通过路由连接、设置arp绑定到路由背面MAC、设置arp绑定到02-aa-bb-cc-dd-1d)等等,均未能成功。心一横,买了个新的路由(WZR-HP-G300NH),就放着它不管了。
但总还是觉得不爽,于是乘着暑假,买了条USB-TTL线,买了电烙铁,买了专用螺丝刀(这东西真心难拆),把WHR-HP-GN-CH扒光光,焊上TTL针脚,开始了长达三天的调试……
(TTL连接)
先用WinXP+超级终端连接,能看到启动信息,U-Boot是好的,提示Bad Magic Number,并提示Ctrl+C跳过。但超级终端似乎发送不了Ctrl+C,于是转移到Win7+PuttyTel。经过数次插拔电源,终于掌握如何进入U-Boot交互:在提示TFTP Server (Receive)的时候按Ctrl+C就好。然后用tftpboot命令下载固件到内存中,然后erase flash中对应空间,最后用cp.b命令将内存中的固件写入flash。但在我十数次尝试后,我才发现无论是上面的哪个固件,都无法得到正确的 magic number。经查证,WHR-HP-GN和WHR-HP-G300N相似,接受Magic Number为27 05 19 56的固件,而以上提到的固件都不包含这个头(是的,完全不包含),因为官方固件似乎是加密的,我也没有解密的手段,这个可以pass。据说DD-Wrt 旧版本有这个头的,不过我懒得找了,而且WHR-HP-GN就那几个版本,版本还差不多,我猜是没有的。想来想去,结果还是回到了openwrt。不过我没有现成的whr-hp-gn的编译好的固件