Yep, succeeded in creating OpenWRT firmware for the Davolink DV2020 / DV201AMR router
Here's the dmesg:
*** Image flash done *** !
Successful.
Resetting board...ÿ
CFE version 1.0.37-0.6 for BCM96348 (32bit,SP,BE)
Build Date: 2005-03-31 17:08:34 (root@ylinux)
DV-201AMR Boot ROM version: 1.6
H/W version: 02
Initializing Arena.
Initializing Devices.
Flash ID - 0xc2(0), 0x227e(1), 0x2210(e), 0x2200(f)
flash - size:8388608, nsect:135, base:0xbf800000
Checking running image.....
Running image good. Comparing running image to backup.....
Backup image is different from running image. Copying running to backup(2424832).....
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Image copied to running.(2424832)
CPU type 0x29107: 256MHz, Bus: 128MHz, Ref: 32MHz
Total memory used by CFE: 0x80401000 - 0x80523330 (1188656)
Initialized Data: 0x8041B5C0 - 0x8041CCC0 (5888)
BSS Area: 0x8041CCC0 - 0x80421330 (18032)
Local Heap: 0x80421330 - 0x80521330 (1048576)
Stack Area: 0x80521330 - 0x80523330 (8192)
Text (code) segment: 0x80401000 - 0x8041B5BC (107964)
Boot area (physical): 0x00524000 - 0x00564000
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
Board Id Name : DV201AMR
Psi size in KB : 24
Number of MAC Addresses (1-32) : 11
Base MAC Address : 00:15:f2:69:af:7e
Ethernet PHY Type : Internal
Memory size in MB : 16
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 110
Code Address: 0x80010000, Entry Address: 0x80010000
Decompression OK!
Entry at 0x80010000
Closing network.
Starting program at 0x80010000
Linux version 2.6.27.10 (root@fx41) (gcc version 4.1.2) #6 Tue Jan 6 22:27:18 CET 2009
Detected Broadcom 0x6348 CPU revision a2
CPU frequency is 256000000 MHz
16MB of RAM installed
board_bcm963xx: CFE version: 1.0.37-0.6
console [early0] enabled
CPU revision is: 00029107 (Broadcom BCM6348)
board_bcm963xx: board name: DV201AMR
Determined physical RAM map:
memory: 01000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
Normal 0x00000000 -> 0x00001000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00001000
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200
Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
PID hash table entries: 64 (order: 6, 256 bytes)
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13720k/16384k available (1867k kernel code, 2664k reserved, 321k data, 120k init, 0k highmem)
Calibrating delay loop... 254.97 BogoMIPS (lpj=509952)
Mount-cache hash table entries: 512
net_namespace: 592 bytes
NET: Registered protocol family 16
registering 37 GPIOs
registering PCI controller with io_map_base unset
pci 0000:00:01.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:00:01.0: PME# disabled
bus: 00 index 0 io port: [8000000, 800ffff]
bus: 00 index 1 mmio: [30000000, 37ffffff]
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
NET: Registered protocol family 1
audit: initializing netlink socket (disabled)
type=2000 audit(0.286:1): initialized
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 26
io scheduler noop registered
io scheduler cfq registered (default)
bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0300 (irq = 10) is a bcm63xx_uart
console handover: boot [early0] -> real [ttyS0]
bcm63xx_enet MII bus: probed
bcm963xx_flash: 0x00400000 at 0x1fc00000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Reducing visibility of 8192KiB chip to 4096KiB
bcm963xx_flash: CFE found at 0x0
bcm963xx: found firmware OpenWrt for 6348.
Creating 4 MTD partitions on "bcm963xx":
0x00000000-0x00010000 : "CFE"
0x0001010c-0x000d0000 : "kernel"
mtd: partition "kernel" doesn't start on an erase block boundary -- force read-only
0x000d0000-0x00260000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=260000, len=0
0x00260000-0x00400000 : "rootfs_data"
0x003f0000-0x00400000 : "nvram"
TCP bic registered
NET: Registered protocol family 17
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 120k freed
Please be patient, while OpenWrt loads ...
Algorithmics/MIPS FPU Emulator v1.5
- preinit -
Press CTRL-C for failsafe
switching to jffs2
jffs2_scan_eraseblock(): End of filesystem marker found at 0xe0000
jffs2_build_filesystem(): unlocking the mtd device... done.
jffs2_build_filesystem(): erasing all blocks after the end marker... done.
mini_fo: using base directory: /
mini_fo: using storage directory: /jffs
- init -
Please press Enter to activate this console. bcm63xx_enet bcm63xx_enet.0: attached PHY at address 1 [Broadcom BCM63XX (1)]
bcm63xx_enet bcm63xx_enet.0: attached PHY at address 1 [Broadcom BCM63XX (1)]
eth1: link forced UP - 100/full - flow control off/off
device eth1 entered promiscuous mode
br-lan: topology change detected, propagating
br-lan: port 1(eth1) entering forwarding state
cfg80211: Using static regulatory domain info
cfg80211: Regulatory domain: US
(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
cfg80211: Calling CRDA for country: US
br-lan: port 1(eth1) entering disabled state
br-lan: topology change detected, propagating
br-lan: port 1(eth1) entering forwarding state
PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
b43-phy0: Broadcom 4306 WLAN found
Broadcom 43xx driver loaded [ Features: PL, Firmware-ID: FW13 ]
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Plase use
nf_conntrack.acct=1 kernel paramater, acct=1 nf_conntrack module option or
sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
BusyBox v1.11.3 (2009-01-02 02:58:37 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge, r13799) -------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@OpenWrt:/# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 1600 1600 0 100% /
/dev/root 1600 1600 0 100% /rom
tmpfs 6920 40 6880 1% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 1664 252 1412 15% /jffs
mini_fo:/jffs 1600 1600 0 100% /
There where a few problems with the CFE version it was running:
- It expects the rootfs direcly after the BCM tag, so it starts at xxxx100
- At startup the firmware image is checksummed, so we can't use a rw file systems as part of the firmware image.
In order to fix:
- Did some changes to
bcm_tag.h
board_bcm963xx.c
bcm963xx-flash.c
target/linux/brcm63xx/image/Makefile
- Created a custom bcmImageBuilder that will create bootable images.
If someone is interested I can send in a patch (edit: Patch)
(Last edited by LinuxInside on 8 Jan 2009, 20:27)