找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18387|回复: 34

有个组合问题请教hotQJ, 见到请进。。。 :)

[复制链接]
发表于 2008-12-1 10:55:51 | 显示全部楼层 |阅读模式
文章最后一句:“比较新固件的TAGTAG.BIN确认个子模块加载地址,长度彼此一致。最后验证CRC32的一致性。”


"验证CRC32的一致性" 这个如何理解,是不是工具校验后,如果不一致的话,工具自动修正?


C:\rg100av12\WHOLEFLASH.BIN-rg100a-aa-v1.2>calbcrc newfirm.bin
Input file length = 4411156
Calculated CRC32  = 0xB039889F



C:\rg100av12\WHOLEFLASH.BIN-rg100a-aa-v1.2>calbcrc cfe-newfirm.bin
Input file length = 4478320
Calculated CRC32  = 0x436A27BF



刚生成两个固件,信息如下:
C:\rg100av12\WHOLEFLASH.BIN-rg100a-aa-v1.2>brfwmod -showinfo -i newfirm.bin
===============================================================
Broadcom Chip ADSL FW Image De/Compress Utility v1.5-hugebird
===============================================================
============decoding Tag information===================
    Tag Ver signature   = '6'
    SIG1(comany info)   = 'Broadcom Corporatio'
    SIG2(FW version)    = 'ver. 2.0'
    chip ID             = '6358'
    board ID            = '96358VW2'
    FW endianess        = Big Endian
    No CFE in Image
    RootFS loading addr = 0xBFC20100
    RootFS length       = 0x00372000
    Kernel loading addr = 0xBFF92100
    Kernel length       = 0x000C2E14
    Total Image length  = 0x00434E14
=======================================================
C:\rg100av12\WHOLEFLASH.BIN-rg100a-aa-v1.2>brfwmod -showinfo -i cfe-newfirm.bin
===============================================================
Broadcom Chip ADSL FW Image De/Compress Utility v1.5-hugebird
===============================================================

============decoding Tag information===================
    Tag Ver signature   = '6'
    SIG1(comany info)   = 'Broadcom Corporatio'
    SIG2(FW version)    = 'ver. 2.0'
    chip ID             = '6358'
    board ID            = '96358VW2'
    FW endianess        = Big Endian
    CFE loading address = 0xBFC00000
    CFE length          = 0x0001065C
    RootFS loading addr = 0xBFC20100
    RootFS length       = 0x00372000
    Kernel loading addr = 0xBFF92100
    Kernel length       = 0x000C2E14
    Total Image length  = 0x00445470
=======================================================



备份出来的TAG信息:(下面的数据是发贴是无法粘贴,手工输入的.)
6
broadcom corporatio ver. 2.0
6358
96358vw2
1
4478064
3217031168
67164
3217162496
3612672
798228



&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
由以上判断,我的操作过程是否正确? 固件能否使用?

[ 本帖最后由 天涯 于 2008-12-1 03:04 编辑 ]
 楼主| 发表于 2008-12-1 11:35:51 | 显示全部楼层
请帮我和你做的对比一下:带CFE的(非JTAG的CFE,不含FF)用了 /128K 的参数 ,未改580及680处。

[ 本帖最后由 天涯 于 2008-12-1 03:37 编辑 ]


Hotqj注:
此固件不能正常使用,网友如果刷,后果自负.

本帖子中包含更多资源

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

×
发表于 2008-12-1 13:32:32 | 显示全部楼层
根据你一楼的帖子提供的信息,可以确定和我组合出的固件是一样的.
至于有没问题.我还要找个时间来升级一下试试看.
我基本都是用带CFE的固件.
发表于 2008-12-1 13:52:11 | 显示全部楼层
Boot Address 0xbe000000

Initializing Arena.
Initializing Devices.
Parallel flash device: name AM29LV320MT|S29GL128-A, id 0x2201, size 16384KB
Flash Layout: Boot[0,0xbe000000] Kern[1,0xbe020000]
              AuxFS[93,0xbeba0000] Misc[125,0xbefa0000] PSI[127,0xbefe0000]
Flash RootFS Partition Length: 12058624
CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz
CPU running TP0
Total memory: 33554432 bytes (32MB)

Total memory used by CFE:  0x80401000 - 0x80529860 (1214560)
Initialized Data:          0x8041E740 - 0x80421060 (10528)

Board IP address                  : 192.168.1.1:ffffff00  
Host IP address                   : 192.168.1.100  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        : vmlinux  
Default host flash file name      : bcm963xx_fs_kernel  
Boot delay (0-9 seconds)          : 1  
Board Id (0-8)                    : 96358VW2  
Number of MAC Addresses (1-32)    : 11  
Base MAC Address                  : 00:1f:a3:11:fd:11  
PSI Size (1-64) KBytes            : 24  
Flash Block Size (1-128) in KBytes: 128  
Auxillary File System Size Percent: 25  
Main Thread Number [0|1]          : 0  

udp_send finished
No answer .auto boot ...
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 0
Code Address: 0x80010000, Entry Address: 0x80257018
Decompression OK!
Entry at 0x80257018
Closing network.
Starting program at 0x80257018
Linux version 2.6.8.1 (root@liangbingtong) (gcc version 3.4.2) #1 Thu Jun 5 12:46:34 CST 2008
Parallel flash device: name AM29LV320MT|S29GL128-A, id 0x2201, size 16384KB
fInfo.flash_rootfs_available_length = 16252928
96358VW2 prom init
CPU revision is: 0002a010
Determined physical RAM map:
memory: 01fa0000 @ 00000000 (usable)
On node 0 totalpages: 8096
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 4000 pages, LIFO batch:1
  HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=31:0 ro noinitrd console=ttyS0,115200
brcm mips: enabling icache and dcache...
Primary instruction cache 32kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 16kB 2-way, linesize 16 bytes.
PID hash table entries: 128 (order 7: 1024 bytes)
Using 150.000 MHz high precision timer.
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 29428k/32384k available (1902k kernel code, 2912k reserved, 425k data, 76k init, 0k highmem)
Calibrating delay loop... 299.00 BogoMIPS
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for 'wait' instruction...  unavailable.
NET: Registered protocol family 16
Total Flash size: 16384K with 128 sectors
Computing partition layout for flash of size[16777216] sectors[128]
Flash split 25% into RootFS+Kernel[12058624] : AuxFS[4194304]
Partition ROOTFS_KRN [0xbe020000,   12058624] Blks[ 92:   1 ..  92]
SubPartition Image 1 [0xbe020000,    6029312] Blks[ 46:   1 ..  46]
SubPartition Image 2 [0xbe5e0000,    6029312] Blks[ 46:  47 ..  92]
Blk# BlkOff Blks BlkSize AvailSize   MemStart     MemLen Partition Name
   0   1408    1  131072    131072 0xbe000580       1024 BOOTLOADER
   1      0   92  131072  12058624 0xbe020000   12058624 ROOTFS_KRN
  93      0   32  131072   4194304 0xbeba0000    4194304 JFFS_AUXFS
125      0    1  131072    131072 0xbefa0000     131072 LOG_SCRPAD
126 106496    1  131072    131072 0xbefda000      24576 TW_PERSISTMEM
127 106496    1  131072    131072 0xbeffa000      24576 PERSISTMEM
Can't analyze prologue code at 801ea324
SCSI subsystem initialized
usbcore: registered new driver hub
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
Initializing Cryptographic API
PPP generic driver version 2.4.2
NET: Registered protocol family 24
Using noop io scheduler
bcm963xx_mtd driver v2.0
File system address: 0xbe020100
Registered device mtd[BCM63XX RootFS] dev[0] Flash[0xbe020100,3612672]
Registered device mtd[BCM63XX AuxFS] dev[1] Flash[0xbeba0000,4194304]
PCI: Enabling device 0000:00:0a.0 (0000 -> 0002)
ehci_hcd 0000:00:0a.0: EHCI Host Controller
PCI: Setting latency timer of device 0000:00:0a.0 to 64
ehci_hcd 0000:00:0a.0: irq 18, pci mem c0050300
ehci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 1
PCI: cache line size of 32 is not supported by device 0000:00:0a.0
ehci_hcd 0000:00:0a.0: USB f.f enabled, EHCI 1.00, driver 2004-May-10
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ohci_hcd: block sizes: ed 64 td 64
PCI: Enabling device 0000:00:09.0 (0000 -> 0002)
ohci_hcd 0000:00:09.0: OHCI Host Controller
PCI: Setting latency timer of device 0000:00:09.0 to 64
ohci_hcd 0000:00:09.0: irq 13, pci mem c0052400
ohci_hcd 0000:00:09.0: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
brcmboard: brcm_board_init entry
SES: Button Interrupt 0x3 is enabled
WIFI: Button Interrupt 0x0 is enabled
WIFI: map_external_irq begin
SES: LED GPIO 0x8018 is enabled
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
no exited Gpio, no found Gpio To Name
initLed: led[0]: mask=0x400000, state=0
initLed: led[1]: mask=0x0100, state=0
initLed: led[2]: mask=0x1000000, state=0
initLed: led[3]: mask=0x0001, state=0
initLed: led[4]: mask=0x0004, state=0
initLed: led[5]: mask=0x0010, state=0
initLed: led[6]: mask=0x0002, state=0
Serial: BCM63XX driver $Revision: 3.00 $
ttyS0 at MMIO 0xfffe0100 (irq = 10) is a BCM63XX
ttyS1 at MMIO 0xfffe0120 (irq = 11) is a BCM63XX
u32 classifier
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Ebtables v2.0 registered
NET: Registered protocol family 8
NET: Registered protocol family 20
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 76k freed


刚刚测试了,组合的固件不能使用,不知道为什么,就和当时组合的神话数码固件的问题差不多.步骤也都是和RG100a V1.1的一样.奇怪了,难道哪里出错:?
上边是清空了两个PSI和做过e a 后,升级带Cfe 的1.2固件.出错的信息.
发表于 2008-12-1 17:35:05 | 显示全部楼层
现在国内这些6358的路由器与dlink 2740B ,USR9113等不同的有2点:
1.flash 的block size由64KB增加到128KB.这是2740B等固件无法通用的主要原因。
2.flash size由4MB变成16MB。

如果要把2740B的固件用到现有的比如RG100AA上,只要重新组合dlink原始固件即可。RG100AA有JTAG,其他设备千万别冒险尝试,否则后果很严重。

1.首先将2740B的原始固件分解
  1. brfwmod -decomp -i EU_DSL-2740B_2.73b246CFE.bin
复制代码


2. 把展开的文件去掉时间标记,准备重新打包

3. ultraedit 打开tag.bin, 把0x8a处改成ASCII值"1", 数值是0x31.

,这个值是启动dual bios模式,如果0x8a除为0, 那么由CFE或web界面写入的fw,只会覆盖原来的地方。
启动双bios模式的基本条件是flash必须在8MB以上。
改完之后保存。以后如果brfwmod再版的时候可以加上一个开关,自动打包的时候写入这标志。

4.重新组合, 并使用、/128K开关
  1. brfwmod -comp /m:2 /128K -o newcomp128.bin
复制代码


5. 查看重新组合的固件
  1. brfwmod -showinfo -i newcomp128.bin
复制代码

重点确认
  1. RootFS loading addr = 0xBFC20100
复制代码


6. 连上TTL,重启adsl,CFE 回显提示按空格中断的地方按一下空格键,停止继续加载系统,并进入CFE,
"b" 命令 修改board ID参数,一般的CFE中有多个ID,选择符合新固件的board ID, 重启并进入CFE

7,进CFE的web刷新界面,把刚改过的固件刷进去。

8, 重启再次进CFE,用"b" 命令,修改启动参数,在
Booting from  image(0-latest,1-previous),选择0,从最近的文件启动。然后一路回车

9.reset,重启adsl

监控启动程序,会看到启动地址在Boot Address 0xbe800000

一旦双bios激活之后,tag 0x8a处就可以清0,并从web管理界面刷新了,从管理界面刷新会自动设置刚刷入的image作为启动镜像。

本帖子中包含更多资源

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

×
 楼主| 发表于 2008-12-1 20:31:14 | 显示全部楼层
谢谢楼上的高人指点。收藏你的回贴。作为教程。
 楼主| 发表于 2008-12-1 20:39:26 | 显示全部楼层
我还想再问一个问题,比方:如果RG100A-AAV1.2的CFE支持DLINK2740的设备标识。能不能直接用1.2的CFE启动这个RG100A-AA及DLINK2740呢?
 楼主| 发表于 2008-12-1 20:49:20 | 显示全部楼层
每次见到你,我都能长知识,很开心遇到你这样一位热心又肯教人的朋友。

双BIOS,看了你的回贴后,我的理解是找一个CFE能支持尽可能多的ID的刷入,然后刷入一个最常用的固件,再接着按你传授的方法改标识,再刷入一个固件。以后,想用什么固件就到CFE状态下更改ID,启动对应的固件,我的理解正确吗?我等会测试一下

比方DLINK2740B 的CFE可以支持如下:
96358VW2         ------- 0
96358VW          ------- 1
96358GWVG        ------- 2
96358-502V       ------- 3
96358MV2G        ------- 4
96358M           ------- 5
96358B           ------- 6
96358BGWE_OEM1   ------- 7
96359PONG        ------- 8
96358VW-8        ------- 9
96358SV          ------- 10
96358GW          ------- 11
96358VW-10       ------- 12
96358VW-11       ------- 13
96358VW-12       ------- 14
96358VW-13       ------- 15
而这个0选项正确对应RG100A-AA的,是不是刷入RG100A-AA不带CFE的固件就可以有可能得到双BIOS
发表于 2008-12-1 20:52:42 | 显示全部楼层
CFE version 1.0.37-11.3 for BCM96358 (32bit,SP,BE)
Build Date: 三  5月 28 22:37:40 CST 2008 (root@fc6.ayecom.com)
Copyright (C) 2000-2006 Broadcom Corporation.
Boot Address 0xbe000000
Initializing Arena.
Initializing Devices.
Parallel flash device: name AM29LV320MT, id 0x2201, size 16384KB
CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz
CPU running TP0
Total memory: 33554432 bytes (32MB)
Total memory used by CFE:  0x80401000 - 0x805284A0 (1209504)
Initialized Data:          0x8041D840 - 0x8041FCC0 (9344)
BSS Area:                  0x8041FCC0 - 0x804264A0 (26592)
Local Heap:                0x804264A0 - 0x805264A0 (1048576)
Stack Area:                0x805264A0 - 0x805284A0 (8192)
Text (code) segment:       0x80401000 - 0x8041D83C (116796)
Boot area (physical):      0x00529000 - 0x00569000
Relocation Factor:         I:00000000 - D:00000000
Board IP address                  : 192.168.1.1:ffffff00  
Host IP address                   : 192.168.1.100  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        : vmlinux  
Default host flash file name      : bcm963xx_fs_kernel  
Boot delay (0-9 seconds)          : 1  
Boot image (0=latest, 1=previous) :   启动分区选项
Board Id (0-15)                   : 96358GW  
Number of MAC Addresses (1-32)    : 11  
Base MAC Address                  : 00:74:04:e4:22:3e  
PSI Size (1-64) KBytes            : 24  
Main Thread Number [0|1]          : 0  
*** Press any key to stop auto run (1 seconds) ***          按空格进CFE
Auto run second count down: 111
CFE>
web info: Waiting for connection on socket 0.
CFE>  c   修改启动分区
Press:  <enter> to use current value
        '-' to go previous parameter
        '.' to clear the current value
        'x' to exit this command
Board IP address                  :  192.168.1.1:ffffff00  
Host IP address                   :  192.168.1.100  
Gateway IP address                :  
Run from flash/host (f/h)         :  f  
Default host run file name        :  vmlinux  
Default host flash file name      :  bcm963xx_fs_kernel  
Boot delay (0-9 seconds)          :  1  
Boot image (0=latest, 1=previous) :  0     输入0选刚刷入的fw,如果下次运行发现有问题,还可以输入1回到原来的fw
*** command status = 0
CFE> reset
 楼主| 发表于 2008-12-1 20:56:23 | 显示全部楼层
马上做测试去了,,,
测试后再回贴
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 06:18 , Processed in 0.025878 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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