找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 12940|回复: 15

今天BCM5354的机子刷DDWRT......

[复制链接]
发表于 2008-10-23 15:55 | 显示全部楼层 |阅读模式
前言:
某公司给中国电信代工E8的ADSL路由器,用BCM6358方案的,16M ROM/32M RAM,带USB2.0 Host接口。可惜DDWRT目前不支持BCM6358,无奈啊无奈。
转机来了,正在研发的中国电信马上要上市的用BCM5354方案的4口路由样品出来了,也是16M/32M,也带USB2.0 Host接口!而且DDWRT是支持BCM5354的。

ASUS的WL500GP V2号称是加载DDWRT后效果最好的机型之一。参数是BCM5354方案,8M ROM/32M RAM,带2个USB2.0Host。对比了一下网上WL500GP V2的PCBA照片,嘿嘿,和手头的电信的样品的板型很像,主控部分看来都是BCM的参考设计。
ASUS的WL500GP V2现在最便宜也要7xx多,而这个样品量产后是很可能会白送的啊!!!歪脑筋开始了,WL500GP V2可以上DDWRT,而这个样品的ROM比WL500GP V2还大,这个样品能不能上呢?

开始:
1. 原有的中国电信标准web页面是不能升级Firmware的。 于是ping通192.168.1.1。ok,可以开始TFTP大法了。
2. 开机,点upgrade,第6次尝试的时候,成功的把DDWRT V24 Mega刷了进去.....
3. 重新给router加电重启。
4. 咦?!怎么反应不对!!!!啊!web配置页面无法打开!!!
5. ping 192.168.1.1,ok,有反映,每次都是100ms。

实在没办法了,接上串口线,观察一下router的启动情况,真是!#@¥%……

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Mon Aug 18 18:14:49 CST 2008 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
Boot partition size = 131072(0x20000)
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.19.0
CPU type 0x29029: 240MHz
Total memory: 32768 KBytes

Total memory used by CFE:  0x80700000 - 0x807979C0 (620992)
Initialized Data:          0x8072EA50 - 0x807311A0 (10064)
BSS Area:                  0x807311A0 - 0x807319C0 (2080)
Local Heap:                0x807319C0 - 0x807959C0 (409600)
Stack Area:                0x807959C0 - 0x807979C0 (8192)
Text (code) segment:       0x80700000 - 0x8072EA50 (191056)
Boot area (physical):      0x00798000 - 0x007D8000
Relocation Factor:         I:00000000 - D:00000000

Device eth0:  hwaddr 00-1E-40-31-5E-BA, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Max TRX Image Supported: 0xFA0000
Boot program checksum is invalid
Invalid boot block on disk
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured
Reading :: Failed.: Timeout occured

怎么说Invalid boot block on disk啊!!!!
于是机器就这么变成砖了.


复活:
先尝试一下把机器恢复原状吧。
1.先尝试TFTP大法,把原装中国电信软件的BIN文件导入。结果...刷BIN文件是开始了,但是到最后关头一直失败!
2. 再次通过串口查看到底现在是什么情况:

ole=ttyS0,115200
CPU: BCM5354 rev 2 at 240 MHz
Using 120.000 MHz high precision timer.
Calibrating delay loop... 239.20 BogoMIPS
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
Checking for 'wait' instruction...  unavailable.
POSIX conformance testing by UNIFIX
PCI: no core
PCI: Fixing up bus 0
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI en
abled
ttyS00 at 0xb8000300 (irq = 3) is a 16550A
ttyS01 at 0xb8000400 (irq = 3) is a 16550A
PCI: Setting latency timer of device 00:01.0 to 64
PCI: Setting latency timer of device 00:05.0 to 64
sb_doattach: incoming bus is PCI but it's a lie, switching to SB devid:0x4318
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
Amd/Fujitsu Extended Query Table v1.3 at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Flash device: 0x1000000 at 0x1c000000
bootloader size: 131072
Physically mapped flash: Filesystem type: squashfs, size=0x5c7fa8
partition size = 6170796
Creating 5 MTD partitions on "hysically mapped flash":
0x00000000-0x00020000 : "cfe"
0x00020000-0x00fe0000 : "linux"
0x000fd754-0x006e0000 : "rootfs"
mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-o
nly
0x00fe0000-0x01000000 : "nvram"
0x006e0000-0x00fe0000 : "ddwrt"
sflash not supported on this router
Initializing Cryptographic API
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
ip_conntrack version 2.1 (512 buckets, 4096 max) - 336 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_random match loaded
netfilter PSD loaded - (c) astaro AG
ipt_osf: Startng OS fingerprint matching module.
ipt_IPV4OPTSSTRIP loaded
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
SQUASHFS error: index 32767 > srclength 6052813 || index+cbyte > sblk->bytes_use
d 0
SQUASHFS error: sb_bread failed reading block 0x1716
SQUASHFS error: Unable to read cache block [5c5bcd:b48]
SQUASHFS error: Unable to read inode [5c5bcd:b48]
VFS: Cannot open root device "mtdblock2" or 1f:02
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 1f:02
<0>Rebooting in 5 seconds..Please stand by while rebooting the system...
Decompressing..........done


CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Mon Aug 18 18:14:49 CST 2008 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.
Boot partition size = 131072(0x20000)
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.150.19.0
CPU type 0x29029: 240MHz
Total memory: 32768 KBytes

Total memory used by CFE:  0x80700000 - 0x807979C0 (620992)
Initialized Data:          0x8072EA50 - 0x807311A0 (10064)
BSS Area:                  0x807311A0 - 0x807319C0 (2080)
Local Heap:                0x807319C0 - 0x807959C0 (409600)
Stack Area:                0x807959C0 - 0x807979C0 (8192)
Text (code) segment:       0x80700000 - 0x8072EA50 (191056)
Boot area (physical):      0x00798000 - 0x007D8000
Relocation Factor:         I:00000000 - D:00000000

Device eth0:  hwaddr 00-1E-40-31-5E-BA, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Max TRX Image Supported: 0xFA0000
Loader:elf Filesys:tftp Dev:eth0 File:192.168.1.159:vmlinux Optionsnull)
Loading: Failed.
Could not load 192.168.1.159:vmlinux: File not found
Loader:elf Filesys:tftp Dev:eth0 File:192.168.1.159:vmlinux Optionsnull)
Loading: Failed.
Could not load 192.168.1.159:vmlinux: File not found
Loader:elf Filesys:tftp Dev:eth0 File:192.168.1.159:vmlinux Optionsnull)
Loading:


完全不知道发生了什么,只知道机器一直在自动重启!!!。
好吧,只好出最后一招了,用烧录器。

请硬件兄弟帮忙,把ROM吹下来,上烧录器......呵....终于搞定了。机器又变回原来的中国电信样机。


......

后续再继续研究,看看怎么弄
发表于 2008-10-23 16:59 | 显示全部楼层
一个字,就是:强!!
发表于 2008-10-23 17:01 | 显示全部楼层
一个字,就是:强!!
发表于 2008-10-23 17:26 | 显示全部楼层
你在adsl modem上面刷dd,那不就失去adsl的功能,只能做路由用了/?????
 楼主| 发表于 2008-10-23 17:54 | 显示全部楼层
原帖由 oywl43210 于 2008-10-23 17:26 发表
你在adsl modem上面刷dd,那不就失去adsl的功能,只能做路由用了/?????



不是的,这个样机是用BCM5354方案的,本身就是纯无线路由(带USB,可以做虚拟主机,FTP服务器的)。后续中国电信会用的,貌似江苏电信下个月初会有个小批量。


现在中国电信在到处赠送的我的e家的E8的机子是BCM6358方案的,这个是带ADSL modem功能的。6358性能是相当不错的,可惜现在没有可以用的资源。前几天在DDWRT英文站上看到有老外发布了BCM63xx系列的开发资料,刚刚可以开始着手搞了。
 楼主| 发表于 2008-10-23 18:01 | 显示全部楼层
刚刚向软件的兄弟请教了一下,刷DD失败的可能方向是这样的:
根据返回的信息:“Boot program checksum is invalid
Invalid boot block on disk”
说明机器的CFE已经启动好了,但是在读取DD的程序的时候发生了数据校验错误,没有启动的信息。
就相当于我们的电脑硬件自检ok了,要开始加载windows xp了,结果发现不知道xp在哪里----xp不在预定的位置上。

所以可能需要进一步研究DDWRT的各个部分到底在flash里面是在什么位置。----这个任务对我实在是太难了....
发表于 2008-10-27 11:54 | 显示全部楼层
搞好了是大家的福气哦!
发表于 2008-10-30 14:22 | 显示全部楼层
牛人,期待最新的消息!
发表于 2008-12-31 10:18 | 显示全部楼层
LZ,我非常关心这个电信路由的厂商,能告诉我详细的型号吗 ?

谢谢!
发表于 2008-12-31 11:46 | 显示全部楼层
Max TRX Image Supported: 0xFA0000

楼主你仔细看过这行麽?算下来应该是2MB的FLASH,也就是16M BIT的,所以要刷也只能micro版本。

或者你有图片看一下麽?看看FLASH的详细型号到底是什么?
发表于 2008-12-31 22:24 | 显示全部楼层
哇,不知道电信会不会免费换个给我
更加期待BCM63xx固件出现
发表于 2008-12-31 22:49 | 显示全部楼层
the quantity will be at least 300K per year

就是华硕滴定制猫啦
发表于 2009-1-2 22:30 | 显示全部楼层
原帖由 andrewlau 于 2008-10-23 18:01 发表
刚刚向软件的兄弟请教了一下,刷DD失败的可能方向是这样的:
根据返回的信息:“Boot program checksum is invalid
Invalid boot block on disk”
说明机器的CFE已经启动好了,但是在读取DD的程序的时候发生 ...


参考解决方法:

在CFE命令行通过flash命令刷firmware.

步骤:

1) 设置好笔记本电脑的IP地址:192.168.1.10
2) 运行tftp服务器端软件,附件中有。
3) 在路由器重启出现“Invalid boot block on disk"时,敲Ctrl +C,进入CFE命令行模式
4) 输入以下命令:
flash -offset=262144 -noheader 192.168.1.10:dd-mega.bin flash0

假设在tftpd32.exe的同一目录下保存了dd-mega.bin文件。
耐心等待,可能需要3分钟或更多时间,路由器会重启。

应该能正常引导了dd.

本帖子中包含更多资源

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

×
发表于 2009-1-2 22:32 | 显示全部楼层
如果是2M的flash,只能刷dd-micro版本,但是上述方法是一样的。
发表于 2009-7-28 00:34 | 显示全部楼层
Thanks!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-2 00:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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