华为光猫HG8245H救砖笔记①故障起因
原文发在我的blog:http://blog.csersoft.net/archives/115
目录:
华为光猫HG8245H救砖笔记②准备JTAG适配器以及OpenOCD调试环境
华为光猫HG8245H救砖笔记④为HG8245H配置OpenOCD调试环境
华为光猫HG8245H救砖笔记⑥逆向UBoot恢复海思命令行
弄这个东西,花了太多时间,踩了太多坑,全写出来,一星期估计都不够。
所以只把救砖过程中的经验写些文章。
目前感觉全部写完,估计得在10篇左右,中间或许会因为其它原因,删减掉不是很重要的内容(写blog蛮累人的)。
正文:
前段时间,因为误操作,导致我的光猫HG8245H彻底变砖。起因是因为直接用cat命令对ubifs分区(mtd1)进行恢复操作。使得光猫上电时HuaWei StartCode找不到可引导的UBoot,从而导致无限重启。经过一段时间的折腾,取得了很大的进展,虽然目前还没有实现正常启动,不过也差不多了。
故障现象:
连接到UART接口后,可以看到终端里无限循环以下内容:
HuaWei StartCode 2012.02 (R13C10 Apr 22 2014 18:06:02)
NAND: Nand(Hardware): 128 MiB
startcode select the uboot to load
the high RAM is :8080103c
startcode uboot boot count:0
Slave struct initializtion success!!
Use the UbootA to load first
Start from UbootA ERROR, Change to UbootB
Both UbootA and UbootB are wrong, load it by JTAG!
这种情况,凭感觉,想要恢复设备的功能,无非2种方案:要么实现在线编程Flash (JTAG或者UART连接到UBoot)。要么拆除Flash上编程器刷入正常的Flash分区镜像。
对于后者,因为拆焊Flash实在麻烦,而且难以保证一次成功,并且需要额外的编程器,甚至需要查Flash数据手册等等步骤,所以打算尝试使用JTAG来救砖。
