I have tested BS firmware on Davolink and it will almost boot.
Here's the result:
I think I may need to tinker somewhat in "drivers/mtd/maps/bcm63xx.c"
Any advice will be appreciated...
Regards
Henk
[pre]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.....
Two Images are same.
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: 1^H1^H0
Code Address: 0x80010000, Entry Address: 0x801be018
Decompression OK!
Entry at 0x801be018
Closing network.
Starting program at 0x801be018
Linux version 2.6.8.1 (henk@fx41) (gcc version 3.4.2) #1 Mon Dec 29 18:14:13 CET 2008
Total Flash size: 8192K with 135 sectors
***Board id is not set****: Using the default PSI size: 24
Scratch pad is not used for this flash part.
DV201AMR prom init
CPU revision is: 00029107
mpi: No Card is in the PCMCIA slot
Determined physical RAM map:
memory: 00fa0000 @ 00000000 (usable)
On node 0 totalpages: 4000
DMA zone: 4000 pages, LIFO batch:1
Normal zone: 0 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=/dev/mtdblock2 ro noinitrd
brcm mips: enabling icache and dcache...
Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 8kB 2-way, linesize 16 bytes.
PID hash table entries: 64 (order 6: 512 bytes)
Using 128.000 MHz high precision timer.
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 13892k/16000k available (1478k kernel code, 2088k reserved, 237k data, 76k init, 0k highmem)
Calibrating delay loop... 253.95 BogoMIPS
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for 'wait' instruction... unavailable.
NET: Registered protocol family 16
Can't analyze prologue code at 80180154
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
PPP generic driver version 2.4.2
NET: Registered protocol family 24
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Using noop io scheduler
bcm963xx: 0x00400000 at 0x1fc00000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 80032acc, ra == 80032b80
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0 : 00000000 1000fc00 00000000 00000000
$ 4 : 8020ee2c 00000003 00000001 00000000
$ 8 : 43464531 8022ff80 00000000 801d0000
$12 : 801d0000 fffffffb 0000000a ffffffff
$16 : 1000fc01 00000001 00000000 8020ee2c
$20 : 00000000 00000000 00000003 000004e0
$24 : 00000000 00000000
$28 : 8022e000 8022fe90 8022fe90 80032b80
Hi : 00000000
Lo : 007f0000
epc : 80032acc Not tainted
ra : 80032b80 Status: 1000fc02 KERNEL EXL
Cause : 80800008
BadVA : 00000090
PrId : 00029107
Modules linked in:
Process swapper (pid: 1, threadinfo=8022e000, task=8022a920)
Stack : 8022e000 8022feb8 00eece20 80113518 1000fc01 000004e0 00000000 801b5a40
00000000 8020ee10 00000008 8022fec8 80032b80 8022a920 80032a68 00000000
00000000 00000008 00000000 00000000 8020ee10 8020edd8 80103464 000004e0
801b5a40 801b5a40 00000000 8020ee10 00000008 000004e0 8022ff78 801036d8
801b0000 00000023 801b5920 801946ec 801b5a40 8020edd8 8020edd8 afff957b
...
Call Trace: [<80113518>] [<80032b80>] [<80032a68>] [<80103464>] [<801036d8>] [<801cc174>] [<80107210>] [<801cbfa0>] [<801be018>] [<80010668>] [<800105c4>] [<80014fc4>] [<80010584>] [<80099750>] [<80014fb0>]
Code: 00a0b021 00c08821 00e0a821 <10730010> 8c720000 2464fff4 8c820008 8c70fff4 02c02821
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
<0>Rebooting in 180 seconds..
[/pre]
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I have tested BS firmware on Davolink and it will almost boot.
Here's the result:
I think I may need to tinker somewhat in "drivers/mtd/maps/bcm63xx.c"
Any advice will be appreciated...
Regards
Henk
[pre]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.....
Two Images are same.
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: 1^H1^H0
Code Address: 0x80010000, Entry Address: 0x801be018
Decompression OK!
Entry at 0x801be018
Closing network.
Starting program at 0x801be018
Linux version 2.6.8.1 (henk@fx41) (gcc version 3.4.2) #1 Mon Dec 29 18:14:13 CET 2008
Total Flash size: 8192K with 135 sectors
***Board id is not set****: Using the default PSI size: 24
Scratch pad is not used for this flash part.
DV201AMR prom init
CPU revision is: 00029107
mpi: No Card is in the PCMCIA slot
Determined physical RAM map:
memory: 00fa0000 @ 00000000 (usable)
On node 0 totalpages: 4000
DMA zone: 4000 pages, LIFO batch:1
Normal zone: 0 pages, LIFO batch:1
HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: root=/dev/mtdblock2 ro noinitrd
brcm mips: enabling icache and dcache...
Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 8kB 2-way, linesize 16 bytes.
PID hash table entries: 64 (order 6: 512 bytes)
Using 128.000 MHz high precision timer.
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 13892k/16000k available (1478k kernel code, 2088k reserved, 237k data, 76k init, 0k highmem)
Calibrating delay loop... 253.95 BogoMIPS
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Checking for 'wait' instruction... unavailable.
NET: Registered protocol family 16
Can't analyze prologue code at 80180154
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
PPP generic driver version 2.4.2
NET: Registered protocol family 24
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Using noop io scheduler
bcm963xx: 0x00400000 at 0x1fc00000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 80032acc, ra == 80032b80
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0 : 00000000 1000fc00 00000000 00000000
$ 4 : 8020ee2c 00000003 00000001 00000000
$ 8 : 43464531 8022ff80 00000000 801d0000
$12 : 801d0000 fffffffb 0000000a ffffffff
$16 : 1000fc01 00000001 00000000 8020ee2c
$20 : 00000000 00000000 00000003 000004e0
$24 : 00000000 00000000
$28 : 8022e000 8022fe90 8022fe90 80032b80
Hi : 00000000
Lo : 007f0000
epc : 80032acc Not tainted
ra : 80032b80 Status: 1000fc02 KERNEL EXL
Cause : 80800008
BadVA : 00000090
PrId : 00029107
Modules linked in:
Process swapper (pid: 1, threadinfo=8022e000, task=8022a920)
Stack : 8022e000 8022feb8 00eece20 80113518 1000fc01 000004e0 00000000 801b5a40
00000000 8020ee10 00000008 8022fec8 80032b80 8022a920 80032a68 00000000
00000000 00000008 00000000 00000000 8020ee10 8020edd8 80103464 000004e0
801b5a40 801b5a40 00000000 8020ee10 00000008 000004e0 8022ff78 801036d8
801b0000 00000023 801b5920 801946ec 801b5a40 8020edd8 8020edd8 afff957b
...
Call Trace: [<80113518>] [<80032b80>] [<80032a68>] [<80103464>] [<801036d8>] [<801cc174>] [<80107210>] [<801cbfa0>] [<801be018>] [<80010668>] [<800105c4>] [<80014fc4>] [<80010584>] [<80099750>] [<80014fb0>]
Code: 00a0b021 00c08821 00e0a821 <10730010> 8c720000 2464fff4 8c820008 8c70fff4 02c02821
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
<0>Rebooting in 180 seconds..
[/pre]
Well I managed to fix:
drivers/mtd/maps/bcm63xx.c
Its now scanning for CFE and BCM Firmware => more flexible, cleaner & smaller code.
The root filesystem gets mounted! but now the nvram command hits segmentation faults.
Help help help? Please?
see the next dmesg:
...
bcm963xx: 0x00800000 at 0x1f800000
bcm963xx: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
bcm963xx: found firmware DV201AMR for 6348.
Creating 6 MTD partitions on "bcm963xx":
0x00400000-0x00410000 : "CFE"
0x00410000-0x00710000 : "firmware"
0x00410100-0x00667100 : "rootfs"
0x00710000-0x007f0000 : "data"
0x007f0000-0x00800000 : "NVRAM"
0x00000000-0x00400000 : "backup"
brcmboard: brcm_board_init entry
bcm963xx_serial driver v2.0
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 1024)
NET: Registered protocol family 1
NET: Registered protocol family 17
Ebtables v2.0 registered
NET: Registered protocol family 8
NET: Registered protocol family 20
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 76k freed
Algorithmics/MIPS FPU Emulator v1.5
CPU 0 Unable to handle kernel paging request at virtual address c03f0000, epc ==
80110994, ra == 80110988
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0 : 00000000 1000fc00 c03f0000 c03f0000
$ 4 : 00000086 00000000 803f0000 00010000
$ 8 : 00000000 800c5b10 802d4160 80f9a0a8
$12 : ffffffff 80f9fd74 80f9fd7c 0000ffff
$16 : 00010000 803f0000 00000000 803f0000
$20 : 803f0000 00000087 7fff7ed4 00000002
$24 : 00000000 2ab405c0
$28 : 80380000 80381ce0 100034c4 80110988
Hi : 00000000
Lo : 00000000
epc : 80110994 Not tainted
ra : 80110988 Status: 1000fc03 KERNEL EXL IE
Cause : 00800008
BadVA : 80340004
PrId : 00029107
Modules linked in:
Process nvram (pid: 91, threadinfo=80380000, task=80f64080)
Stack : 80efeef0 00407da0 00000000 00000000 00000086 00010000 00000087 80111374
80381d08 800143a8 00000001 00000000 80381d68 801df584 00000004 7fff7db0
00007ffb 00400fd4 8011168c 00000000 100034c4 8005ff8c 80201200 80011be8
80381d68 fffffff2 7fff7cf8 ffffffe7 00000003 8010f57c 801cfb80 00407da0
802de60c 80381e38 7fff7db0 00407924 00000004 00007ffb 00000000 10000210
...
Call Trace: [<80111374>] [<800143a8>] [<8011168c>] [<8005ff8c>] [<80011be8>]
[<8010f57c>] [<80052de4>] [<80079dd0>] [<80079c64>] [<80075618>] [<800758
d0>] [<800e34c8>] [<800799b0>] [<800757a4>] [<8006c5d4>] [<8006a938>] [<80
06a90c>] [<8006aab0>] [<800797b0>] [<800c53a8>] [<8007fa34>] [<8006ae00>]
[<8006add0>] [<8001a788>] [<800c5afc>] [<80099750>]
Code: 00401821 12000007 00721021 <90420000> 2610ffff 24630001 a2220000 0804
4263 26310001