Man, I feel so newbie... The error message is even telling me the property is missing... Please forgive me.
I'll post the dts as soon as I'm back home.
The current DTB:
#include "bcm6338.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "D-Link DSL-2640U/BRU/C";
compatible = "d-link,dsl-2640u", "brcm,bcm6338";
chosen {
bootargs = "root=1f01 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
green_power {
label = "green:power";
gpios = <&gpio0 0 1>;
default-state = "on";
};
green_stop {
label = "green:ppp";
gpios = <&gpio0 4 1>;
};
green_adsl {
label = "green:ppp-fail";
gpios = <&gpio0 5 1>;
};
};
};
&lsspi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <781000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
//compatible = "brcm,bcm963xx-cfe-nor-partitions";
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
cfe@0 {
label = "CFE";
reg = <0x000000 0x010000>;
read-only;
};
linux@10000 {
label = "linux";
reg = <0x010000 0x3e0000>;
compatible = "brcm,bcm963xx-imagetag";
};
nvram@0 {
label = "nvram";
reg = <0x000000 0x010000>;
};
};
};
};
&uart0 {
status = "okay";
};
bcm6338.dtsi is unmodified, as in https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/bcm63xx/dts/bcm6338.dtsi
The current boot log is this:
CFE version 1.0.37-10.3 for BCM96338 (32bit,SP,BE)
Build Date: Tue May 31 14:36:37 EDT 2011 (root@localhost.localdomain)
Copyright (C) 2000-2006 Broadcom Corporation.
Boot Address 0xbfc00000
Initializing Arena.
Initializing Devices.
max_op_len=63
flash=W25X32 size=4MB id=0xef3016 sector=64k
st_reg1_3c|Serial flash device: name W25X32, id 0xef3016, size 4096KB
Flash Layout: Boot[63,0xbfff0000] Kern[1,0xbfc10000]
AuxFS[61,0xbffd0000] Misc[61,0xbffd0000] PSI[63,0xbfff0000]
Flash RootFS Partition Length: 3932160
100 MB Full-Duplex (auto-neg)
CPU type 0x29010: 240MHz
Total memory: 16777216 bytes (16MB)
Total memory used by CFE: 0x80401000 - 0x80526390 (1201040)
Initialized Data: 0x8041DB60 - 0x8041FB90 (8240)
BSS Area: 0x8041FB90 - 0x80424390 (18432)
Local Heap: 0x80424390 - 0x80524390 (1048576)
Stack Area: 0x80524390 - 0x80526390 (8192)
Text (code) segment: 0x80401000 - 0x8041DB5C (117596)
Boot area (physical): 0x00527000 - 0x00567000
Relocation Factor: I:00000000 - D:00000000
Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.3
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-9) : 96333W
Number of MAC Addresses (1-32) : 11
Base MAC Address : 00:26:5a:54:8a:95
PSI Size (1-64) KBytes : 24
Flash Block Size (1-128) in KBytes: 1
Auxillary File System Size Percent: 0
udp_send finished
No answer .auto boot ...
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 0
Booting from only image (0xbfc10000) ...
Code Address: 0x80A00000, Entry Address: 0x80a00000
Decompression OK!
Entry at 0x80a00000
Closing network.
Starting program at 0x80a00000
[ 0.000000] Linux version 5.4.117 (alexsmith@xps13) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16708-e7249669d2)) #0 Wed May 12 16:32:03 2021
[ 0.000000] Detected Broadcom 0x6338 CPU revision a2
[ 0.000000] CPU frequency is 240 MHz
[ 0.000000] 16MB of RAM installed
[ 0.000000] board_bcm963xx: Boot address 0xbfc00000
[ 0.000000] board_bcm963xx: CFE version: unknown
[ 0.000000] bcm63xx_nvram: nvram checksum failed, contents may be invalid (expected 00000000, got 189e4e90)
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00029010 (Broadcom BCM6338)
[ 0.000000] board: board name: 96338W2_E7T
[ 0.000000] MIPS: machine is D-Link DSL-2640U/BRU/C
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[ 0.000000] Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 4060
[ 0.000000] Kernel command line: root=1f01 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
[ 0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 9896K/16384K available (4123K kernel code, 203K rwdata, 460K rodata, 1284K init, 194K bss, 6488K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] random: get_random_bytes called from 0x804bfa20 with crng_init=0
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 15927170388 ns
[ 0.000048] sched_clock: 32 bits at 120MHz, resolution 8ns, wraps every 17895697403ns
[ 0.008400] Calibrating delay loop... 239.61 BogoMIPS (lpj=1198080)
[ 0.085103] pid_max: default: 32768 minimum: 301
[ 0.091358] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.098998] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.132975] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.143408] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.151144] pinctrl core: initialized pinctrl subsystem
[ 0.160134] NET: Registered protocol family 16
[ 0.174419] bcm63xx_nvram: not enough mac addresses
[ 0.328364] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[ 0.357472] clocksource: Switched to clocksource MIPS
[ 0.372655] NET: Registered protocol family 2
[ 0.381463] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.390628] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.398945] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.406345] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.414382] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.421574] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.430964] NET: Registered protocol family 1
[ 0.435676] PCI: CLS 0 bytes, default 16
[ 0.480552] workingset: timestamp_bits=14 max_order=12 bucket_order=0
[ 0.537259] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.543539] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.695279] fffe0300.serial: ttyS0 at MMIO 0xfffe0300 (irq = 10, base_baud = 1562500) is a bcm63xx_uart
[ 0.705362] printk: console [ttyS0] enabled
[ 0.705362] printk: console [ttyS0] enabled
[ 0.714175] printk: bootconsole [early0] disabled
[ 0.714175] printk: bootconsole [early0] disabled
[ 0.777718] spi-nor spi0.0: w25x32 (4096 Kbytes)
[ 0.784598] 3 fixed-partitions partitions found on MTD device spi0.0
[ 0.791483] Creating 3 MTD partitions on "spi0.0":
[ 0.796467] 0x000000000000-0x000000010000 : "CFE"
[ 0.807872] 0x000000010000-0x0000003f0000 : "linux"
[ 0.836963] parser_imagetag: rootfs: CFE image tag at 0x0 CRC invalid (expected 00000029, actual 23171510)
[ 0.847353] 0x000000000000-0x000000010000 : "nvram"
[ 0.859712] bcm63xx-spi fffe0c00.spi: at [mem 0xfffe0c00-0xfffe0c3f flags 0x200] (irq 9, FIFOs size 63)
[ 0.875727] libphy: Fixed MDIO Bus: probed
[ 0.882247] bcm63xx-wdt bcm63xx-wdt: started, timer margin: 30 sec
[ 0.894133] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 0.901672] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 0.909131] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 0.916341] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 0.923793] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 0.933496] NET: Registered protocol family 17
[ 0.938723] 8021q: 802.1Q VLAN Support v1.8
[ 1.016285] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x2a3b instead
.
.
.
[ 30.870152] jffs2: Further such events for this erase block will not be printed
[ 31.255660] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
[ 31.264629] jffs2: empty_blocks 0, bad_blocks 0, c->nr_blocks 62
[ 31.271304] VFS: Cannot open root device "1f01" or unknown-block(31,1): error -5
[ 31.279140] Please append a correct "root=" boot option; here are the available partitions:
[ 31.287969] 1f00 64 mtdblock0
[ 31.287997] (driver?)
[ 31.294718] 1f01 3968 mtdblock1
[ 31.294737] (driver?)
[ 31.301617] 1f02 64 mtdblock2
[ 31.301642] (driver?)
[ 31.308551] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,1)
[ 31.317166] Rebooting in 1 seconds..
� 32.319380] triggering watchdog soft-reset...
You may notice I used root=1f01
in the Kernel command line. I also tried 1f00 and 1f02 with no success. I understand it is trying to mount a partition at an invalid address due to misconfiguration in the dts partitions.
I think the values are wrong and should somehow match this:
Flash Layout: Boot[63,0xbfff0000] Kern[1,0xbfc10000]
AuxFS[61,0xbffd0000] Misc[61,0xbffd0000] PSI[63,0xbfff0000]
But I don't know how to specify them in the dts... I'm confused with physical and logical addresses.
As I've said previously, the SPI driver has a bug in BCM6338/48 related with the SPI FIFO size. I found the old openwrt thread with the patch to solve the issue
https://forum.archive.openwrt.org/viewtopic.php?id=50322
You'll need to adapt the patch for your kernel.
Your nvram partition isn't correctly defined, the lsspi node should be:
&lsspi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <781000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
cfe@0 {
label = "CFE";
reg = <0x000000 0x010000>;
read-only;
};
linux@10000 {
label = "linux";
reg = <0x010000 0x3e0000>;
compatible = "brcm,bcm963xx-imagetag";
};
nvram@3f0000 {
label = "nvram";
reg = <0x3f0000 0x010000>;
};
};
};
};
Regards
Great. I'll change it and try to find out how to apply that patch to current openwrt kernel. I'm recompiling it right now, but I found this (line 39 seems to need changing as well):
This is where the following log line is getting the FIFO value from:
[ 0.859712] bcm63xx-spi fffe0c00.spi: at [mem 0xfffe0c00-0xfffe0c3f flags 0x200] (irq 9, FIFOs size 63)
I'll keep trying.
So here's the new bootlog:
CFE version 1.0.37-10.3 for BCM96338 (32bit,SP,BE)
Build Date: Tue May 31 14:36:37 EDT 2011 (root@localhost.localdomain)
Copyright (C) 2000-2006 Broadcom Corporation.
Boot Address 0xbfc00000
Initializing Arena.
Initializing Devices.
max_op_len=63
flash=W25X32 size=4MB id=0xef3016 sector=64k
st_reg1_3c|Serial flash device: name W25X32, id 0xef3016, size 4096KB
Flash Layout: Boot[63,0xbfff0000] Kern[1,0xbfc10000]
AuxFS[61,0xbffd0000] Misc[61,0xbffd0000] PSI[63,0xbfff0000]
Flash RootFS Partition Length: 3932160
100 MB Full-Duplex (auto-neg)
CPU type 0x29010: 240MHz
Total memory: 16777216 bytes (16MB)
Total memory used by CFE: 0x80401000 - 0x80526390 (1201040)
Initialized Data: 0x8041DB60 - 0x8041FB90 (8240)
BSS Area: 0x8041FB90 - 0x80424390 (18432)
Local Heap: 0x80424390 - 0x80524390 (1048576)
Stack Area: 0x80524390 - 0x80526390 (8192)
Text (code) segment: 0x80401000 - 0x8041DB5C (117596)
Boot area (physical): 0x00527000 - 0x00567000
Relocation Factor: I:00000000 - D:00000000
Board IP address : 192.168.1.1:ffffff00
Host IP address : 192.168.1.3
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-9) : 96333W
Number of MAC Addresses (1-32) : 11
Base MAC Address : 00:26:5a:54:8a:95
PSI Size (1-64) KBytes : 24
Flash Block Size (1-128) in KBytes: 1
Auxillary File System Size Percent: 0
udp_send finished
No answer .auto boot ...
*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 0
Booting from only image (0xbfc10000) ...
Code Address: 0x80A00000, Entry Address: 0x80a00000
Decompression OK!
Entry at 0x80a00000
Closing network.
Starting program at 0x80a00000
[ 0.000000] Linux version 5.4.117 (alexsmith@xps13) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16750-f716c30241)) #0 Tue May 18 18:07:56 2021
[ 0.000000] Detected Broadcom 0x6338 CPU revision a2
[ 0.000000] CPU frequency is 240 MHz
[ 0.000000] 16MB of RAM installed
[ 0.000000] board_bcm963xx: Boot address 0xbfc00000
[ 0.000000] board_bcm963xx: CFE version: unknown
[ 0.000000] bcm63xx_nvram: nvram checksum failed, contents may be invalid (expected 00000000, got 189e4e90)
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00029010 (Broadcom BCM6338)
[ 0.000000] board: board name: 96338W2_E7T
[ 0.000000] MIPS: machine is D-Link DSL-2640U/BRU/C
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[ 0.000000] Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000000ffffff]
[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 4060
[ 0.000000] Kernel command line: root=1f01 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
[ 0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 10088K/16384K available (3523K kernel code, 204K rwdata, 860K rodata, 1292K init, 194K bss, 6296K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] random: get_random_bytes called from start_kernel+0x370/0x56c with crng_init=0
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 15927170388 ns
[ 0.000049] sched_clock: 32 bits at 120MHz, resolution 8ns, wraps every 17895697403ns
[ 0.008428] Calibrating delay loop... 238.38 BogoMIPS (lpj=1191936)
[ 0.085248] pid_max: default: 32768 minimum: 301
[ 0.091609] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.099271] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.139307] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.149781] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.157630] pinctrl core: initialized pinctrl subsystem
[ 0.167034] NET: Registered protocol family 16
[ 0.183065] bcm63xx_nvram: not enough mac addresses
[ 0.373124] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[ 0.405856] clocksource: Switched to clocksource MIPS
[ 0.422943] NET: Registered protocol family 2
[ 0.432116] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.441321] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.449674] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.457330] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.465206] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.472429] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.482028] NET: Registered protocol family 1
[ 0.487041] PCI: CLS 0 bytes, default 16
[ 0.537043] workingset: timestamp_bits=14 max_order=12 bucket_order=0
[ 0.626856] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.632884] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.801005] fffe0300.serial: ttyS0 at MMIO 0xfffe0300 (irq = 10, base_baud = 1562500) is a bcm63xx_uart
[ 0.811167] printk: console [ttyS0] enabled
[ 0.811167] printk: console [ttyS0] enabled
[ 0.820012] printk: bootconsole [early0] disabled
[ 0.820012] printk: bootconsole [early0] disabled
[ 0.891245] spi-nor spi0.0: w25x32 (4096 Kbytes)
[ 0.898873] 3 fixed-partitions partitions found on MTD device spi0.0
[ 0.905433] Creating 3 MTD partitions on "spi0.0":
[ 0.910711] 0x000000000000-0x000000010000 : "CFE"
[ 0.924371] 0x000000010000-0x0000003f0000 : "linux"
[ 0.958117] parser_imagetag: rootfs: CFE image tag at 0x0 CRC invalid (expected 3e5c4dd7, actual 540789ee)
[ 0.968878] 0x0000003f0000-0x000000400000 : "nvram"
[ 0.983326] bcm63xx-spi fffe0c00.spi: at [mem 0xfffe0c00-0xfffe0c3f flags 0x200] (irq 9, FIFOs size 56)
[ 1.000955] libphy: Fixed MDIO Bus: probed
[ 1.008019] bcm63xx-wdt bcm63xx-wdt: started, timer margin: 30 sec
[ 1.020909] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 1.028479] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 1.035693] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 1.043185] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 1.050680] leds-gpio leds-gpio.0: Skipping unavailable LED gpio 0 ((null))
[ 1.060691] NET: Registered protocol family 17
[ 1.065705] 8021q: 802.1Q VLAN Support v1.8
[ 1.151354] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0xc32d instead
[ 1.161729] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0x4a03 instead
[ 1.171766] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0xea01 instead
[ 1.181776] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0xc548 instead
[ 1.191783] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0xc70b instead
[ 1.201791] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0xdb6e instead
[ 1.211798] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x3e5c instead
[ 1.221808] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0xce26 instead
[ 1.231815] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0x85a4 instead
[ 1.241823] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000028: 0x5252 instead
[ 1.251777] jffs2: Further such events for this erase block will not be printed
[ 1.295992] random: fast init done
[ 1.774241] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004: 0xc32d instead
[ 1.784306] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010008: 0x4a03 instead
[ 1.794315] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0001000c: 0xea01 instead
[ 1.804322] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010010: 0xc548 instead
[ 1.814321] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010014: 0xc70b instead
[ 1.824319] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010018: 0xdb6e instead
[ 1.834319] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0001001c: 0x3e5c instead
[ 1.844319] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010020: 0xce26 instead
[ 1.854319] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010024: 0x85a4 instead
[ 1.864318] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010028: 0x5252 instead
.
.
.
[ 37.088561] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0004: 0xc32d instead
[ 37.098626] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0008: 0x4a03 instead
[ 37.108633] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d000c: 0xea01 instead
[ 37.118640] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0010: 0xc548 instead
[ 37.128648] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0014: 0xc70b instead
[ 37.138647] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0018: 0xdb6e instead
[ 37.148646] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d001c: 0x3e5c instead
[ 37.158645] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0020: 0xce26 instead
[ 37.168643] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0024: 0x85a4 instead
[ 37.178643] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003d0028: 0x5252 instead
[ 37.188600] jffs2: Further such events for this erase block will not be printed
[ 37.690413] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
[ 37.699396] jffs2: empty_blocks 0, bad_blocks 0, c->nr_blocks 62
[ 37.706195] VFS: Cannot open root device "1f01" or unknown-block(31,1): error -5
[ 37.713824] Please append a correct "root=" boot option; here are the available partitions:
[ 37.722697] 1f00 64 mtdblock0
[ 37.722724] (driver?)
[ 37.729634] 1f01 3968 mtdblock1
[ 37.729659] (driver?)
[ 37.736604] 1f02 64 mtdblock2
[ 37.736630] (driver?)
[ 37.743369] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,1)
[ 37.751971] Rebooting in 1 seconds..
� 38.749044] triggering watchdog soft-reset...
You can notice FIFO is now 56:
[ 0.983326] bcm63xx-spi fffe0c00.spi: at [mem 0xfffe0c00-0xfffe0c3f flags 0x200] (irq 9, FIFOs size 56)
From the log, I see jffs2 reads the entire linux partition and the same value is returned all the time.
Also this is not ideal, I think:
[ 0.000000] bcm63xx_nvram: nvram checksum failed, contents may be invalid (expected 00000000, got 189e4e90)
I'm pretty sure that the firmware partition (kernel+rootfs+rootfs_data) must be named exactly 'firmware'. Then it will be scanned to automatically partition out rootfs and rootfs_data.
Thanks for your help, @mk24, but it didn't work.