天涯 发表于 2008-12-7 00:37:42

二位,请早点休息。我会一直测试我能想到的办法,无论结果是顺利搞定,还是有什么问题再发贴出来。

hugebird 发表于 2008-12-7 01:19:03

我测试了一下,用Dlink 2740B ,2.73

1.准备TFE.bin和/128K 重组的固件
brfwmod -decomp -i EU_DSL-2740B_2.73b246CFE.bin
2. 改所有展开文件的名字,并备份一个CFE.bin
copy cfe.bin tfe.bin
3.ultraedit编辑tag.bin ,0x8a处改成ASC “1”
4,完成重组
brfwmod -comp /m:2 /128K -o new273.bin
5. 拷贝brjtag.exe到重组固件的存放目录
=======================================================
1.开电,brjtag -erase:wholeflash /unppb, 完成后关电
2. 开电, brjtag -flash:tfe烧入刚才得到的TFE.BIN
3. 关电,上TTL线, 启动超级终端,电脑网线连在猫上,开电
4. 超级终端按空格进CFE> ,执行"e a" "y" 清楚整个flash
5. "e a" 完成后设备重启,终端上及时按空格进CFE>
6, IE访问CFE下载界面 htt://192.168.1.1
7, 下载new273.bin, 观察终端把固件烧在be020000
8. 在下载完成之后设备备重启,终端上及时按空格进CFE>
9. IE访问CFE下载界面 htt://192.168.1.1
10, 再次下载new273.bin, 观察终端把固件烧在be800000
11. 在下载完成之后设备备重启,恢复成功


终端的完整log

天涯 发表于 2008-12-7 13:05:41

刚才打了一大半的消息,没有输入完,没有发出消息,有个朋友来了,离开了40分钟这样,结果消息发送失败.

谢谢你写的恢复步骤,我现在正在用最慢的办法做一次测试(直接写入WHOLEFLASH).估计要到下午4:00可以完成.

天涯 发表于 2008-12-7 13:09:22

昨夜,我试过2.73 ,3.04,2.61,RG100A-AA的固件,全部都是用128K处理过了的.除2.61可以启动并引导外,其余的,都是在CFE启动后,初始化FLASH分区分配的时候死在那里了.

不过,我试刷第一分固件的时候是用0的标志,来不及用1的标志试(没有机会,因为0的标志都没有启动).我贴个图出来.

等到4点钟后,再按你92楼所讲的再做一遍.看看结果如何...这个就是前些天,我全部用128K 及 0 或1 重新打包的固件.
下面是昨夜一直在试刷的LOG记录文件.RG100A-AA CFE 到初始化分区的时候就停下,还没有能看得到提示按键终止.

[ 本帖最后由 天涯 于 2008-12-7 05:21 编辑 ]

天涯 发表于 2008-12-7 13:44:11

C:\rg100av12\261>brfwmod -comp -o 2.61-cfe-128k-1.bin /M:2 /128K

===============================================================
Broadcom Chip ADSL FW Image De/Compress Utility v1.5-hugebird
===============================================================

Warning!...Source TAG Checksum not match, but build continue...
============decoding Tag information===================
    Tag Ver signature   = '6'
    SIG1(comany info)   = 'Broadcom Corporatio'
    SIG2(FW version)    = '3.10.02.EU'
    chip ID             = '6358'
    board ID            = '96358GW'
    FW endianess      = Big Endian
=======================================================

->Start packing a new image
->CFE will load at    0xBFC00000, length 0x0000FDBC Bytes.
->get CFE NVRAM Board_ID:   96358GW
->get CFE NVRAM MacAddress:   007404E4908F
->build CFE NVRAM block. Done!
->use cfe length 64956 to cal RootFS loading addr
->RootFS will load at 0xBFC20100, length 0x00322000 Bytes.
->Kernel will load at 0xBFF42100, length 0x0007E24C Bytes.
->get RootFS+Kernel checksum. CRC32 = 0x4A603558
->get image checksum.         CRC32 = 0x1570834E
->get tag checksum.         CRC32 = 0xF516B180
->write Tag to new image...
->write buffer to new image...
->Done


*** REQUESTED OPERATION IS COMPLETE, Bye! ***

刚才改为1后,出现一个警告提示,之前我做别的版本都没有发现这个提示, 为何故呢?

要如何修正这个TAG的CRC32校验值? 谢谢

hugebird 发表于 2008-12-7 13:57:42

TAG修改一个数自然CRC32会有问题。每次重组,TAG的CRC都要重新计算,这个不用担心。


CFE里面试试用web界面刷fw,别用终端的f命令

[ 本帖最后由 hugebird 于 2008-12-7 06:00 编辑 ]

天涯 发表于 2008-12-7 14:06:57

对的,昨晚一直都是用F命令加载的,我运行了那个3cdaemon 这个东东,这个使用上很方便,就用习惯了.等下午我用WEB页面加载,完全按照你写的步骤再来一次.看看能否顺利...

祝我好运 :)

天涯 发表于 2008-12-7 15:26:59

我用BRJTAG 写入整个FLASH备份,在写到 26%的时候,再也写不下去了。D:\brjtag15>wflash

D:\brjtag15>brjtag -flash:WHOLEFLASH /dma /fc:79

==============================================
Broadcom EJTAG Debrick Utility v1.5-hugebird
==============================================

Probing bus ... Done

Instruction Length set to 5

CPU running under BIG endian

CPU Chip ID: 00000110001101011000000101111111 (0635817F)
*** Found a Broadcom BCM6358 Rev 1 CPU chip ***

    - EJTAG IMPCODE ....... : 00000000100000011000100100000100 (00818904)
    - EJTAG Version ....... : 1 or 2.0
    - EJTAG DMA Support ... : Yes
    - EJTAG Implementation flags: R4k MIPS16 MIPS32
    *** DMA Mode Forced On ***

Issuing Processor / Peripheral Reset ... Done
Enabling Memory Writes ... Done
Halting Processor ... <Processor Entered Debug Mode!> ... Done
Clearing Watchdog ... Done
Initialize EBI ... Skipped

Manual Flash Selection ... Match Flash Chip (VenID:DevID = 017e : 2101)
*** Manually Selected a Spansion S29GL128N/P Uni(16MB) Flash Chip ***

    - Flash Chip Window Start .... : 1f000000
    - Flash Chip Window Length ... : 01000000
    - Selected Area Start ........ : 1f000000
    - Selected Area Length ....... : 01000000


*** You Selected to Flash the WHOLEFLASH.BIN ***

=========================
Flashing Routine Started
=========================
Total Blocks to Erase: 128

Erasing block: 1 (addr = 1f000000)...Done
Erasing block: 2 (addr = 1f020000)...Done
Erasing block: 3 (addr = 1f040000)...Done
Erasing block: 4 (addr = 1f060000)...Done
Erasing block: 5 (addr = 1f080000)...Done
Erasing block: 6 (addr = 1f0a0000)...Done
Erasing block: 7 (addr = 1f0c0000)...Done
Erasing block: 8 (addr = 1f0e0000)...Done
Erasing block: 9 (addr = 1f100000)...Done
Erasing block: 10 (addr = 1f120000)...Done
Erasing block: 11 (addr = 1f140000)...Done
Erasing block: 12 (addr = 1f160000)...Done
Erasing block: 13 (addr = 1f180000)...Done
Erasing block: 14 (addr = 1f1a0000)...Done
Erasing block: 15 (addr = 1f1c0000)...Done
Erasing block: 16 (addr = 1f1e0000)...Done
Erasing block: 17 (addr = 1f200000)...Done
Erasing block: 18 (addr = 1f220000)...Done
Erasing block: 19 (addr = 1f240000)...Done
Erasing block: 20 (addr = 1f260000)...Done
Erasing block: 21 (addr = 1f280000)...Done
Erasing block: 22 (addr = 1f2a0000)...Done
Erasing block: 23 (addr = 1f2c0000)...Done
Erasing block: 24 (addr = 1f2e0000)...Done
Erasing block: 25 (addr = 1f300000)...Done
Erasing block: 26 (addr = 1f320000)...Done
Erasing block: 27 (addr = 1f340000)...Done
Erasing block: 28 (addr = 1f360000)...Done
Erasing block: 29 (addr = 1f380000)...Done
Erasing block: 30 (addr = 1f3a0000)...Done
Erasing block: 31 (addr = 1f3c0000)...Done
Erasing block: 32 (addr = 1f3e0000)...Done
Erasing block: 33 (addr = 1f400000)...Done
Erasing block: 34 (addr = 1f420000)...Done
Erasing block: 35 (addr = 1f440000)...Done
Erasing block: 36 (addr = 1f460000)...Done
Erasing block: 37 (addr = 1f480000)...Done
Erasing block: 38 (addr = 1f4a0000)...Done
Erasing block: 39 (addr = 1f4c0000)...Done
Erasing block: 40 (addr = 1f4e0000)...Done
Erasing block: 41 (addr = 1f500000)...Done
Erasing block: 42 (addr = 1f520000)...Done
Erasing block: 43 (addr = 1f540000)...Done
Erasing block: 44 (addr = 1f560000)...Done
Erasing block: 45 (addr = 1f580000)...Done
Erasing block: 46 (addr = 1f5a0000)...Done
Erasing block: 47 (addr = 1f5c0000)...Done
Erasing block: 48 (addr = 1f5e0000)...Done
Erasing block: 49 (addr = 1f600000)...Done
Erasing block: 50 (addr = 1f620000)...Done
Erasing block: 51 (addr = 1f640000)...Done
Erasing block: 52 (addr = 1f660000)...Done
Erasing block: 53 (addr = 1f680000)...Done
Erasing block: 54 (addr = 1f6a0000)...Done
Erasing block: 55 (addr = 1f6c0000)...Done
Erasing block: 56 (addr = 1f6e0000)...Done
Erasing block: 57 (addr = 1f700000)...Done
Erasing block: 58 (addr = 1f720000)...Done
Erasing block: 59 (addr = 1f740000)...Done
Erasing block: 60 (addr = 1f760000)...Done
Erasing block: 61 (addr = 1f780000)...Done
Erasing block: 62 (addr = 1f7a0000)...Done
Erasing block: 63 (addr = 1f7c0000)...Done
Erasing block: 64 (addr = 1f7e0000)...Done
Erasing block: 65 (addr = 1f800000)...Done
Erasing block: 66 (addr = 1f820000)...Done
Erasing block: 67 (addr = 1f840000)...Done
Erasing block: 68 (addr = 1f860000)...Done
Erasing block: 69 (addr = 1f880000)...Done
Erasing block: 70 (addr = 1f8a0000)...Done
Erasing block: 71 (addr = 1f8c0000)...Done
Erasing block: 72 (addr = 1f8e0000)...Done
Erasing block: 73 (addr = 1f900000)...Done
Erasing block: 74 (addr = 1f920000)...Done
Erasing block: 75 (addr = 1f940000)...Done
Erasing block: 76 (addr = 1f960000)...Done
Erasing block: 77 (addr = 1f980000)...Done
Erasing block: 78 (addr = 1f9a0000)...Done
Erasing block: 79 (addr = 1f9c0000)...Done
Erasing block: 80 (addr = 1f9e0000)...Done
Erasing block: 81 (addr = 1fa00000)...Done
Erasing block: 82 (addr = 1fa20000)...Done
Erasing block: 83 (addr = 1fa40000)...Done
Erasing block: 84 (addr = 1fa60000)...Done
Erasing block: 85 (addr = 1fa80000)...Done
Erasing block: 86 (addr = 1faa0000)...Done
Erasing block: 87 (addr = 1fac0000)...Done
Erasing block: 88 (addr = 1fae0000)...Done
Erasing block: 89 (addr = 1fb00000)...Done
Erasing block: 90 (addr = 1fb20000)...Done
Erasing block: 91 (addr = 1fb40000)...Done
Erasing block: 92 (addr = 1fb60000)...Done
Erasing block: 93 (addr = 1fb80000)...Done
Erasing block: 94 (addr = 1fba0000)...Done
Erasing block: 95 (addr = 1fbc0000)...Done
Erasing block: 96 (addr = 1fbe0000)...Done
Erasing block: 97 (addr = 1fc00000)...Done
Erasing block: 98 (addr = 1fc20000)...Done
Erasing block: 99 (addr = 1fc40000)...Done
Erasing block: 100 (addr = 1fc60000)...Done
Erasing block: 101 (addr = 1fc80000)...Done
Erasing block: 102 (addr = 1fca0000)...Done
Erasing block: 103 (addr = 1fcc0000)...Done
Erasing block: 104 (addr = 1fce0000)...Done
Erasing block: 105 (addr = 1fd00000)...Done
Erasing block: 106 (addr = 1fd20000)...Done
Erasing block: 107 (addr = 1fd40000)...Done
Erasing block: 108 (addr = 1fd60000)...Done
Erasing block: 109 (addr = 1fd80000)...Done
Erasing block: 110 (addr = 1fda0000)...Done
Erasing block: 111 (addr = 1fdc0000)...Done
Erasing block: 112 (addr = 1fde0000)...Done
Erasing block: 113 (addr = 1fe00000)...Done
Erasing block: 114 (addr = 1fe20000)...Done
Erasing block: 115 (addr = 1fe40000)...Done
Erasing block: 116 (addr = 1fe60000)...Done
Erasing block: 117 (addr = 1fe80000)...Done
Erasing block: 118 (addr = 1fea0000)...Done
Erasing block: 119 (addr = 1fec0000)...Done
Erasing block: 120 (addr = 1fee0000)...Done
Erasing block: 121 (addr = 1ff00000)...Done
Erasing block: 122 (addr = 1ff20000)...Done
Erasing block: 123 (addr = 1ff40000)...Done
Erasing block: 124 (addr = 1ff60000)...Done
Erasing block: 125 (addr = 1ff80000)...Done
Erasing block: 126 (addr = 1ffa0000)...Done
Erasing block: 127 (addr = 1ffc0000)...Done
Erasing block: 128 (addr = 1ffe0000)...Done

Loading WHOLEFLASH.BIN to Flash Memory...
26%   bytes = 4468968

天涯 发表于 2008-12-7 16:27:48

经过再次测试刷新,仍然是无法保存配置信息

Flash write error.Verify failed
Error writing flash sector 127.Flash write error.Verify failed
Error writing flash sector 127.Scratch pad is not initialized.
Scratch pad is not initialized.
No scratch pad found.Initialize scratch pad...
Flash write error.Verify failed

仍然是写 扇区 127 出错.

天涯 发表于 2008-12-7 17:41:54

刚才把全部可以刷并可以启动的固件都试了一遍,RG100A,2.73,9113都试了,都无法保存配置。基本上都和这个类似的提示:Error writing flash sector 127.Flash write error.Verify failed

我恨死这个127,固件也直是固执,那个地方写不进去,怎么就不知道哪能写得进去的地方写呢? :)

只有等HUGEBIRD大大来指点了。
页: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19
查看完整版本: Broadcom路由DSL猫用的JTAG工具最新版