找回密码
 注册

QQ登录

只需一步,快速开始

楼主: hugebird

Broadcom路由DSL猫用的JTAG工具最新版

    [复制链接]
发表于 2010-6-2 20:39:36 | 显示全部楼层
brjtagbrjtag
 楼主| 发表于 2010-6-2 22:04:58 | 显示全部楼层
回复 763# MINE

我估计过程是这样的,
第1次用1.9g,在没有清flash之前,因为设备有cfe做初始化,所以是可以查到flash型号的。

当首次用1.9g进行flash:cfe操作,cfe扇区被擦除,但写入不正确,再开机,设备不能初始化,
一切对flash的操作都无效,所以后面写入,擦除等等实际都是不成功的,但因为备份出来的都是空,所以误认为是操作成功了,原固件仍然保持在flash里面。因为不能正确初始化,flash不能被检测到。

当某次cfe被写入以后,再开电,写入的cfe虽然有1字便宜,但不影响初始化,所以flash可以被检测到了。

由于有位置便宜的cfe做初始化,又由于/initcpu的初始化命令不能再次对设备初始化,所以只要加这个参数,每次必然会挂在那里。

flash这时候可以用1.9h进行写人.可以检测的,但不能加/initcpu参数。

因为前面全片擦除命令是无效的,所以原始固件还在设备中,一旦cfe被正确写入,引导也就不是问题了。

不能写入其他固件的最大可能我猜测是这个其他固件不符合cfe认为的正确格式。虽然进入到升级流程,但因为数据不符合格式,最终还是无法正确升级
发表于 2010-6-2 22:18:10 | 显示全部楼层
本帖最后由 MINE 于 2010-6-2 22:32 编辑
回复  MINE

我估计过程是这样的,
第1次用1.9g,在没有清flash之前,因为设备有cfe做初始化,所以是可 ...
hugebird 发表于 2010-6-2 22:04


1、设备A在多次写入擦除后,现在用1.9h试了不下于30次,始终认不出FLASH(S29GL128N) ,强行加/fc:088后写入再立即备份出来,备份出的CFE“几乎”是全空的(似乎有文件头)。
2、后换设备B(硬件上与A几乎完全相同)来进行测试,95%以上可以直接认出FLASH(S29GL128P) ,偶尔不能认出,重新开关一下设备似乎又可以。已经在设备B上测试反复写入或备份过近20次CFE,都成功。但就在刚才,写入一个网友编译的CFE后,设备不能启动,而且目前已经认不出FLASH来,无论如何都不行,包括不加/wx8参数。
3、【接问题2】既然在设备B上认不出FLASH,我就想尝试一下把WHLOEFLASH整个清空一下,但执行brjtag -erase:wholeflash /fc:088 /wx8后,无法完成——停在block 2。我突发奇想,去掉/wx8参数,竟然清空“成功”,而且速度很快(未加/bypass)。 你可能会问设备B的FLASH是否是8位的,我很负责的说,在问题2中我提到反复成功写入20多次CFE的过程中,都是加了/wx8参数的。
 楼主| 发表于 2010-6-2 23:07:17 | 显示全部楼层
本帖最后由 hugebird 于 2010-6-2 15:09 编辑

回复 766# MINE

1.如果认不出flash,最大的可能是cfe不能初始化,最好加/initcpu参数。必须要确认设备能进入debug模式,如果进入不了这个模式,建议考虑OE接地方式加电。 用/window参数找到可操作的地址,/fc参数基本不需要用,因为flash不能自动检测,说明flash无法正常写入命令,/fc操作得到的数据是不可信的。 1.8以后的版本/fc的作用已经和以前不同了。

2.可以多次正确识别的原因是这个设备cfe是好的,一旦坏掉就会出现无法识别flash的问题。估计53xx系列的芯片和63xx系列的一样,必须每次加电才能保证正确的操作。不能进入debug模式,很多操作是不能正常完成的。

3.一旦cfe坏掉,flash部分地址就是不可操作的,erase命令自然无法进行。 全片擦除为什么不用, -probeonly /erasechip.

所有恢复设备的关键就是要找的一个可以操作flash的地址,通过这个地址可以检测到flash id,通过这个地址可以进行全片擦除,去掉无效bootloader的影响。
/wx8只是按照8位进行操作,有些操作比如擦除,对地址不敏感,按16操作时也是可以的。
发表于 2010-6-2 23:17:48 | 显示全部楼层
回复 767# hugebird



我现在是不是应该这样操作?


  1. C:\>brjtag -probeonly /erasechip /wx8 /initcpu
  2.         ===============================================
  3.          Broadcom EJTAG Debrick Utility v1.9h-hugebird
  4.         ===============================================
  5. Probing bus ... Done
  6. Detected IR Length is 8
  7. CPU assumed running under LITTLE endian
  8. CPU Chip ID: 00110101001101010100000101111111 (3535417F)
  9. *** Found a Broadcom manufactured BCM5354 REV 03 CPU ***
  10.     - EJTAG IMPCODE ....... : 00000000100000010000100100000100 (00810904)
  11.     - EJTAG Version ....... : 1 or 2.0
  12.     - EJTAG DMA Support ... : Yes
  13.     - EJTAG Implementation flags: R4k MIPS16 MIPS32
  14. Issuing Processor / Peripheral Reset ... Done
  15. Enabling Memory Writes ... Done
  16. Halting Processor ... <Processor Entered Debug Mode!> ... Done
  17. Clearing Watchdog ... Done
  18. Loading CPU Configuration Code ...
复制代码


但还是一直处于Loading CPU Configuration Code ... 状态。
发表于 2010-6-2 23:34:36 | 显示全部楼层
支持!支持!
chinaliya 该用户已被删除
发表于 2010-6-2 23:58:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2010-6-3 00:09:15 | 显示全部楼层
回复  hugebird



我现在是不是应该这样操作?


但还是一直处于Loading CPU Configuration Code  ...
MINE 发表于 2010-6-2 15:17



操作没问题,关键是初始化代码不能正确执行,修改了下,或许能行,


如果不行,只有尝试下OE接地启动法,还有就是手工检测不同地址,找到可以用
brjtag -probeonly /wx8 /erasechip /window:1c000000

OE接地时,两个版本的/initcpu都可以试试。其他没有想到更好的办法。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-6-3 00:13:50 | 显示全部楼层
本帖最后由 MINE 于 2010-6-3 00:37 编辑
操作没问题,关键是初始化代码不能正确执行,修改了下,或许能行,


如果不行,只有尝试下OE接地 ...
hugebird 发表于 2010-6-3 00:09


之前OE接地后再通电,依然认不出来FLASH,但看了你在另外一个贴子中的留言后,我加了/nompi参数,竟然又认出来了(在设备A上测试成功,设备B暂时没弄)。现在又成功写入CFE并能启动设备了。难道这个/nompi一定要加吗?

1.9h1暂未测试。
 楼主| 发表于 2010-6-3 08:33:57 | 显示全部楼层
/nompi只和63x8设备有关,用不用对5354没影响,估计还是设备加电时间和执行brjtag的间隔对结果有一定影响。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-4 16:35 , Processed in 0.029034 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表