Modify

Opened 7 years ago

Last modified 21 months ago

#5071 reopened defect

Kamikaze, brcm47xx, WRT54G v1.1: jffs2 marker not detected, rootfs_data not mounted

Reported by: anonymous Owned by: developers
Priority: response-needed Milestone: Chaos Calmer 15.05
Component: kernel Version: Backfire 10.03
Keywords: jffs2 kamikaze Cc:

Description

I recently installed Kamikaze 8.09 on a
linksys wrt54g v1.1. If I make any changes
to the system, then shutdown and reboot,

the changes are lost. I've reported this
on the general forum posting

(http://forum.openwrt.org/viewtopic.php?id=20125)

and as indicated there, the problem is solved
by reverting to a kernel 2.4 release of kamikaze.

I've since found two other forum postings
where 3 other users report the same, or at
least a similar problem:

http://forum.openwrt.org/viewtopic.php?id=17976
http://forum.openwrt.org/viewtopic.php?id=18004

Below is a transcript to illustrate:

~$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------


BusyBox v1.11.2 (2009-01-06 15:14:38 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 (8.09, r14511) ----------------------------
* 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:/# ls -l /etc/passwd
-rw-r--r-- 1 root root 119 Oct 6 14:15 /etc/passwd

root@OpenWrt:/# passwd
Changing password for root
New password:
Retype password:
Password for root changed by root

root@OpenWrt:~# ls -l /etc/passwd
-rw-r--r-- 1 root root 152 Feb 6 05:21 /etc/passwd
root@OpenWrt:~# date
Fri Feb 6 05:21:30 UTC 2009

Timestamp has changed on the passwd file.
So, I logout and try telnet again, then
ssh when telnet is refused as expected.

root@OpenWrt:/# exit
Connection closed by foreign host.

~$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Login failed.
Connection closed by foreign host.

~$ ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is fc:cc:66:ca:00:22:4e:65:b6:d5:92:14:9d:ec:13:5b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
root@192.168.1.1's password:


BusyBox v1.11.2 (2009-01-06 15:14:38 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 (8.09, r14511) ----------------------------
* 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:~# exit
Connection to 192.168.1.1 closed.
~$

Log out again, remove power, reboot the wrt.

~$ ssh root@192.168.1.1
ssh: connect to host 192.168.1.1 port 22: Connection refused

Ssh connection is refused after reboot. Must
revert to a telnet session, which is accepted
without password.

~$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------


BusyBox v1.11.2 (2009-01-06 15:14:38 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 (8.09, r14511) ----------------------------
* 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:/# date
Fri Feb 6 04:29:17 UTC 2009
root@OpenWrt:/# ls -lF /etc/passwd
-rw-r--r-- 1 root root 119 Oct 6 14:15 /etc/passwd

And the password file is back to its
previous state. Below, it doesn't look
like the jffs2 partition is mounted. See the
log transcript that follows.

root@OpenWrt:/# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=6848k)
tmpfs on /dev type tmpfs (rw,size=512k)
devpts on /dev/pts type devpts (rw,mode=600)
mini_fo:/tmp/root on / type mini_fo (rw)

root@OpenWrt:/# dmesg | less
undary -- force read-only
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=290000, len=160000
0x00290000-0x003f0000 : "rootfs_data"
0x003f0000-0x00400000 : "nvram"
TCP vegas registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
turn off boot console early0
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 128k freed
Please be patient, while OpenWrt loads ...
Algorithmics/MIPS FPU Emulator v1.5
diag: Detected 'Linksys WRT54G V1.x'
b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is off for TX and off for RX.
roboswitch: Probing device eth0: No Robo switch in managed mode found
roboswitch: Probing device eth1: <3>roboswitch: [/home/nbd/release/brcm47xx/bui
ld_dir/linux-brcm47xx/kmod-switch/switch-robo.c:117] SIOCGETCPHYRD failed!
roboswitch: [/home/nbd/release/brcm47xx/build_dir/linux-brcm47xx/kmod-switch/sw
itch-robo.c:117] SIOCGETCPHYRD failed!
No Robo switch in managed mode found
roboswitch: Probing device eth2: No such device
roboswitch: Probing device eth3: No such device
b44: eth0: powering down PHY
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014000c: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140010: 0x4444 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140014: 0x1d1d i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140018: 0x0202 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014001c: 0x0101 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140020: 0xeded i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014002c: 0x1515 i
nstead
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150008: 0xb1b1 i
nstead
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 0, bad_blocks 0, c->nr_blocks 22
mini_fo: using base directory: /
mini_fo: using storage directory: /tmp/root
b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is off for TX and off for RX.
br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
device eth0.0 entered promiscuous mode
device eth0 entered promiscuous mode
br-lan: port 1(eth0.0) entering learning state
br-lan: topology change detected, propagating
br-lan: port 1(eth0.0) entering forwarding state
There is already a switch registered on the device 'eth0'
roboswitch: Probing device eth1: <3>roboswitch: [/home/nbd/release/brcm47xx/bui
ld_dir/linux-brcm47xx/kmod-switch/switch-robo.c:117] SIOCGETCPHYRD failed!
roboswitch: [/home/nbd/release/brcm47xx/build_dir/linux-brcm47xx/kmod-switch/sw
itch-robo.c:117] SIOCGETCPHYRD failed!
No Robo switch in managed mode found
roboswitch: Probing device eth2: No such device
roboswitch: Probing device eth3: No such device
b43-phy0: Broadcom 4306 WLAN found
b43-phy0 debug: Found PHY: Analog 2, Type 2, Revision 2
b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
b43-phy0 debug: DebugFS (CONFIG_DEBUG_FS) not enabled in kernel config
phy0: Selected rate control algorithm 'pid'
Broadcom 43xx driver loaded [ Features: NLR, Firmware-ID: FW13 ]
br-lan: port 1(eth0.0) entering disabled state
br-lan: port 1(eth0.0) entering learning state
br-lan: topology change detected, propagating
br-lan: port 1(eth0.0) entering forwarding state
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)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00040008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00050008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140008: 0xb1b1 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014000c: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140010: 0x4444 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140014: 0x1d1d i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140018: 0x0202 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014001c: 0x0101 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140020: 0xeded i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014002c: 0x1515 i
nstead
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150000: 0x8585 i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150004: 0x0c0c i
nstead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150008: 0xb1b1 i
nstead
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 0, bad_blocks 0, c->nr_blocks 22

[as suggested in forum post 17976 above
I tried an mtd erase.]

root@OpenWrt:/# mtd erase rootfs_data
Unlocking rootfs_data ...
Erasing rootfs_data ...
root@OpenWrt:/# mount
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=6848k)
tmpfs on /dev type tmpfs (rw,size=512k)
devpts on /dev/pts type devpts (rw,mode=600)
mini_fo:/tmp/root on / type mini_fo (rw)
root@OpenWrt:/#

Hmm, this is different. I tried the
"mtd erase rootfs_data" 3 or 4 times before and
each time it changed the output of "mount" to
show a jffs2 partition.

Since then I reflashed with the latest Linksys
firmware for this wrt (WRT54GV4.0_4.21.1_US_code.trx)
and then reflashed again with Kamikaze 8.09. That
didn't solve the problem either. But reverting to
kernel 2.4 as suggested in forum posting 20125 has
fixed the problem.

Thanks.

Attachments (0)

Change History (25)

comment:1 Changed 7 years ago by anonymous

I have the same problem with my linksys wrt54g v1.1

Looking at the kernel logs of jffs2_scan_eraseblock() it seems like the data cannot be read correctly from the flash. As far as I remember the 0x1985 magic bitmask WAS there - checked by dumping the partition.

comment:2 Changed 7 years ago by anonymous

Me too. See:
#4988: defect: D-Link DIR-320 fails to access jffs (new)

comment:3 Changed 7 years ago by anonymous

Probably not exactly the same problem.

erasing mtdblock3 succeeds and jffs2 even can mount it as long as it is empty. After unmounting you can see the correct 0x1985 content on the partition. But the jffs2 filesystem does not read the contents correctly. The upper and lower 8 bits of the 16 bit words are exactly the same in the log file. Either the jffs2 filesystem has a bug or the mtd calls it uses. Reading via "hexdump /dev/mtd3" works correctly

hexdump /dev/mtdblock3
0000000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0000010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0010000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0010010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0020000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0020010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0030000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0030010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0040000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0040010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0050000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0050010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0060000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0060010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0070000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0070010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0080000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0080010 ffff ffff ffff ffff ffff ffff ffff ffff
*                                              
0090000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0090010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00a0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00a0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00b0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00b0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00c0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00c0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00d0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00d0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00e0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00e0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
00f0000 1985 2003 000c 0000 b0b1 e41e ffff ffff
00f0010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0100000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0100010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0110000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0110010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0120000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0120010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0130000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0130010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0140000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0140010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0150000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0150010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0160000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0160010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0170000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0170010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0180000 1985 2003 000c 0000 b0b1 e41e ffff ffff
0180010 ffff ffff ffff ffff ffff ffff ffff ffff
*
0190000

But:

Jan  1 00:13:12 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x8585 instead
Jan  1 00:13:12 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x0c0c instead
Jan  1 00:13:12 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xb1b1 instead
Jan  1 00:13:12 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0x8585 instead

Seems like it duplicates the lower 8 bit to the upper 8 bit

comment:4 Changed 7 years ago by anonymous

Same problem with a TEW-652BRP

dmesg output:

Creating 6 MTD partitions on "spi0.0":
0x00000000-0x00020000 : "u-boot"
0x00020000-0x00030000 : "config"
0x00030000-0x00100000 : "kernel"
0x00100000-0x003f0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=3B0000, len=40000
0x003b0000-0x003f0000 : "rootfs_data"
0x003f0000-0x00400000 : "art"
0x00030000-0x003f0000 : "firmware"
Atheros AR71xx hardware watchdog driver version 0.1.0
ar71xx-wdt: timeout=15 secs (max=42)
TCP westwood registered
NET: Registered protocol family 17
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: 136k freed
Please be patient, while OpenWrt loads ...
jffs2: Too few erase blocks (4)
mini_fo: using base directory: /
mini_fo: using storage directory: /tmp/root

comment:5 Changed 6 years ago by thepeople

  • Resolution set to obsolete
  • Status changed from new to closed

[patchteam] The issue should be fixes as originally posted, the last poster doesn't have enough free space to create a jffs partition.

comment:6 follow-up: Changed 6 years ago by nico

  • Component changed from base system to kernel
  • Resolution obsolete deleted
  • Status changed from closed to reopened
  • Summary changed from Kamikaze 8.09, jffs2 not functioning, file changes do not survive shutdown-reboot to Kamikaze, brcm47xx, WRT54G v1.1: jffs2 marker not detected, rootfs_data not mounted
  • Version changed from Kamikaze 8.09 to Kamikaze trunk

Confirmed on trunk r19920

<SNIP>
Jan  1 00:00:19 OpenWrt user.warn kernel: flash init: 0x1fc00000 0x00400000
Jan  1 00:00:19 OpenWrt user.info kernel: Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank
Jan  1 00:00:19 OpenWrt user.warn kernel:  Intel/Sharp Extended Query Table at 0x0035
Jan  1 00:00:19 OpenWrt user.info kernel: Using auto-unlock on power-up/resume
Jan  1 00:00:19 OpenWrt user.notice kernel: cfi_cmdset_0001: Erase suspend on write enabled
Jan  1 00:00:19 OpenWrt user.debug kernel: erase region 0: offset=0x0,size=0x2000,blocks=8
Jan  1 00:00:19 OpenWrt user.debug kernel: erase region 1: offset=0x10000,size=0x10000,blocks=63
Jan  1 00:00:19 OpenWrt user.notice kernel: Flash device: 0x400000 at 0x1fc00000
Jan  1 00:00:19 OpenWrt user.notice kernel: bootloader size: 262144
Jan  1 00:00:19 OpenWrt user.notice kernel: Creating 4 MTD partitions on "Physically mapped flash":
Jan  1 00:00:19 OpenWrt user.notice kernel: 0x000000000000-0x000000040000 : "cfe"
Jan  1 00:00:19 OpenWrt user.notice kernel: 0x000000040000-0x0000003f0000 : "linux"
Jan  1 00:00:19 OpenWrt user.notice kernel: 0x00000011a800-0x0000003f0000 : "rootfs"
Jan  1 00:00:19 OpenWrt user.warn kernel: mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
Jan  1 00:00:19 OpenWrt user.notice kernel: mtd: partition "rootfs" set to be root filesystem
Jan  1 00:00:19 OpenWrt user.info kernel: mtd: partition "rootfs_data" created automatically, ofs=2B0000, len=140000 
Jan  1 00:00:19 OpenWrt user.notice kernel: 0x0000002b0000-0x0000003f0000 : "rootfs_data"
Jan  1 00:00:19 OpenWrt user.notice kernel: 0x0000003f0000-0x000000400000 : "nvram"
<SNIP>
Jan  1 00:00:20 OpenWrt user.warn kernel: VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
<SNIP>
Jan  1 00:00:20 OpenWrt user.warn kernel: diag: Detected 'Linksys WRT54G V1.x'
<SNIP>
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0xdede instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001000: 0xdede instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0xdede instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020000: 0xdede instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030000: 0x8585 instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030004: 0x0c0c instead
Jan  1 00:01:06 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00030008: 0xb1b1 instead
<SNIP>
Jan  1 00:01:07 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130000: 0x8585 instead
Jan  1 00:01:07 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130004: 0x0c0c instead
Jan  1 00:01:07 OpenWrt user.notice kernel: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130008: 0xb1b1 instead
Jan  1 00:01:07 OpenWrt user.notice kernel: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
Jan  1 00:01:07 OpenWrt user.notice kernel: empty_blocks 0, bad_blocks 0, c->nr_blocks 20
Jan  1 00:01:07 OpenWrt user.info sysinit: mount: mounting /dev/mtdblock3 on /rom/jffs failed: Input/output error
<SNIP>

The marker is here, but it's not detected correctly by the jffs2_scan_eraseblock function

root@OpenWrt:/# hexdump /dev/mtdblock3 -s 0 -n 16 -x
0000000    adde    dec0    0000    0000    0000    0000    0000    0000
0000010
root@OpenWrt:/# hexdump /dev/mtdblock3 -s 4096 -n 16 -x
0001000    adde    dec0    0000    0000    0000    0000    0000    0000
0001010
root@OpenWrt:/# hexdump /dev/mtdblock3 -s 65536 -n 16 -x
0010000    adde    dec0    0000    0000    0000    0000    0000    0000
root@OpenWrt:/# hexdump /dev/mtdblock3 -s 131072 -n 16 -x
0020000    adde    dec0    0000    0000    0000    0000    0000    0000
0020010
root@OpenWrt:/# hexdump /dev/mtdblock3 -s 196608 -n 16 -x
0030000    1985    2003    000c    0000    b0b1    e41e    ffff    ffff
0030010
root@OpenWrt:/# hexdump /dev/mtdblock3 -s 196612 -n 16 -x
0030004    000c    0000    b0b1    e41e    ffff    ffff    ffff    ffff
0030014

comment:7 Changed 6 years ago by thepeople

  • Milestone changed from Kamikaze to Backfire 10.03

comment:8 in reply to: ↑ 6 Changed 6 years ago by b.sander

Replying to nico:

Confirmed on trunk r19920

Hi,

would somebody try this patch with such a device!?

--- linux/drivers/ssb/driver_mipscore.c.bak	2010-04-06 02:29:13.000000000 +0200
+++ linux/drivers/ssb/driver_mipscore.c	2010-04-07 09:25:40.000000000 +0200
@@ -191,15 +191,15 @@
 	struct ssb_bus *bus = mcore->dev->bus;
 
 	mcore->flash_buswidth = 2;
-	if (bus->chipco.dev) {
+	if (bus->extif.dev) {
+		mcore->flash_window = 0x1fc00000;
+		mcore->flash_window_size = 0x00400000;
+	} else {
 		mcore->flash_window = 0x1c000000;
 		mcore->flash_window_size = 0x02000000;
 		if ((ssb_read32(bus->chipco.dev, SSB_CHIPCO_FLASH_CFG)
 		               & SSB_CHIPCO_CFG_DS16) == 0)
 			mcore->flash_buswidth = 1;
-	} else {
-		mcore->flash_window = 0x1fc00000;
-		mcore->flash_window_size = 0x00400000;
 	}
 }

because of changeset 15959, its possibly the same error as on Ticket #1502 and related to the buswidth. The devices that were affected on Ticket #4729 have serial flash, not the same as here.

comment:9 Changed 6 years ago by nico

  • Version changed from Kamikaze trunk to Backfire 10.03

The patch does not fix the issue on a WRT54G v1.1. It has a bus->extif.dev and mcore->flash_buswidth is set to 2, same as BUSWIDTH, which was used to initialize bcm47xx_map.bankwidth before r15959.

comment:10 Changed 6 years ago by anonymous

Confirmed also with Backfire 10.03 on WRT54Gv1.1. Brcm47xx has issues with jffs2 marker. 2.4-kernel made the router unbootable after mtd. Tried it twice.

Got it working now after tftping 8.09.2 with 2.4 kernel.

comment:11 Changed 6 years ago by pyrophobicman@…

I just ran into this issue myself... investigating, it seems to be a problem casting to a 16-bit type - the 32-bit fields of node (line 635 of linux/fs/jffs2/scan.c) are set properly, but the 16-bit fields are not. The bit of memory at node's address is packed correctly, but even with my attempts to manually cast to uint16_t, any 16-bit casting seems to be breaking, returning the 0x8585 type problem.

What's special about this hardware, and why would this issue only show up in this one place? I'm on a wrt54g v1.1 as well.

comment:12 Changed 6 years ago by anonymous

Same issue here.
WRT54G v1.1 can only be used with Kamikaze brcm-2.4 images.
If I try any brcm47xx image (Kamikaze or Backfire) I get jffs2_scan_eraseblock() errors and a read-only rootfs_data.
When trying Backfire brcm-2.4 images after the flash the power led will keep blinking forever with a permanently lit up dmz led and no ping/telnet to the router is possible.

comment:13 Changed 5 years ago by bobMuk

Same issue here: WRT54G v1.1, Kamikaze 2.4 kernel build works but anything later doesn't.
Getting the same log entry:
"rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only

I guess (going by the age of this ticket) that there's no interest in fixing this in Backfire?

comment:14 Changed 5 years ago by bobMuk

Is there any likelihood that this'll get looked at? I'm willing to try any private builds/patches.

comment:15 follow-up: Changed 5 years ago by jow

  • Priority changed from high to response-needed

Whats the state of this in RC5 ? Anybody considered a miscompilation maybe?

comment:16 Changed 5 years ago by nbd

  • Resolution set to no_response
  • Status changed from reopened to closed

comment:17 in reply to: ↑ 15 Changed 5 years ago by atom_guy

  • Resolution no_response deleted
  • Status changed from closed to reopened

Replying to jow:

Whats the state of this in RC5 ? Anybody considered a miscompilation maybe?

Just reconfirmed on my WRT54G v1.1 on RC5. Same messages in dmesg, filesystem changes do not persist across reboots.

comment:18 Changed 5 years ago by anonymous

Is this going to be fixed? I experienced same thing... during modification the /etc/config/network file was deleted, and this was the last thing it was written. then it switched to read-only mode, and nothing can help it.

WRT54G v1.1, backfire 10.03.1-rc5 - brcm47xx, flashed with prebuilt image.

comment:19 Changed 5 years ago by fabien@…

Just reconfirmed on my WRT54G v1.1 on RC5. Same messages in dmesg, filesystem changes do not persist across reboots.

comment:20 Changed 5 years ago by sharntehnub@…

Also confirmed on WRT54G v1.1, backfire 10.03.1-rc5, brcm-47xx.
Same logs for me as well. Same version of backfire-brcm-2.4 and kamikaze 8.09.2-brcm2.4 boots and restores fine but doesn't seem to have any sort of wireless support at all.
Is there any motivation for fixing this? Or maybe a way of adding an mmc-sd card to bypass the problem?

comment:21 Changed 4 years ago by clemens-john@…

Also confirmed on WRT54G v2.2 Backfire r28601 Kernel 2.6 brcm47xx.

root@OpenWrt:~# dmesg | grep jff
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
jffs2: Too few erase blocks (3)
root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.8M      2.8M         0 100% /rom
tmpfs                     6.6M    160.0K      6.4M   2% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
root                      6.6M     84.0K      6.5M   1% /tmp/root
mini_fo:/tmp/root         2.8M      2.8M         0 100% /

I would be happy if anyone could fix this.

comment:22 Changed 4 years ago by jow

clemens-john, your issue is completely unrelated - your image is simply too big.

comment:23 Changed 4 years ago by nbd

how about rc6 - is it still reproducible there?

comment:24 Changed 4 years ago by Tim Miller Dyck <tim@…>

I tried OpenWrt 10.03.1-rc6 on a Linksys WRT54g ver. 1.1 router (4 MB flash).

I had the same problems as above with the jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found error messages in syslog. In LuCI, it gets stuck forever at the applying settings wait graphic.

I tried both the "brcm-2.4" and "brcm47xx" versions of 10.03.1-rc6 but both had the same behavior.

Then I found "Linksys WRT54G v1.1 default after reboot", https://forum.openwrt.org/viewtopic.php?id=28223 and saw the suggestion to use kamikaze.

I flashed back to OpenWrt 8.09 r14511 brcm-2.4 at http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-brcm-2.4-squashfs.trx and that is working fine on this hardware.

I will add a note to the OpenWrt Linksys wiki page saying this Linksys model has trouble with Backfire right now.

Regards,
Tim Miller Dyck

comment:25 Changed 21 months ago by jow

  • Milestone changed from Backfire 10.03.2 to Chaos Calmer (trunk)

Milestone Backfire 10.03.2 deleted

Add Comment

Modify Ticket

Action
as reopened .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.