public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Unable to access JFFS2 filesystem
@ 2003-12-23 19:25 thomaspang
  2003-12-24  9:39 ` David Vrabel
  2003-12-30 17:32 ` Thayne Harbaugh
  0 siblings, 2 replies; 5+ messages in thread
From: thomaspang @ 2003-12-23 19:25 UTC (permalink / raw)
  To: linux-mtd

I repost this message as I do not get any response.

I integrated the MTD snapshot dated 2003/12/11 into my linux kernel 2.4.22.

Couple questions:

-  cfi_cmdset_0002: Disabling fast programming due to code brokenness.  Any patch to cfi_cmdset_0002.c to fix this.

- What may be causes of those jffs2_scan_eraseblock(): Mgaic bitmask 0x1985 not found at ...?   I have browsed the linux-mtd thread and still haven't figured it out.

- When I accessed the mounted JFFS2 file system, I got "Chip not ready after erase suspended".  Subsequent access gives "Input/output error".

Your help is greatly appreciated.


I turned on the CFI debugging flag and below show the detailed information of the flash that I am using.

Number of erase regions: 3
Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard)
Primary Algorithm Table at 0040
Alternative Vendor Command Set: 0000 (None)
No Alternate Algorithm Table
Vcc Minimum:  2.7 V
Vcc Maximum:  3.6 V
No Vpp line
Typical byte/word write timeout: 16 µs
Maximum byte/word write timeout: 512 µs
Full buffer write not supported
Typical block erase timeout: 1024 ms
Maximum block erase timeout: 16384 ms
Chip erase not supported
Device size: 0x800000 bytes (8 MiB)
Flash Device Interface description: 0x0002
  - supports x8 and x16 via BYTE# with asynchronous interface
Max. bytes in buffer write: 0x1
Number of Erase Block Regions: 3
  Erase Region #0: BlockSize 0x2000 bytes, 8 blocks
  Erase Region #1: BlockSize 0x10000 bytes, 126 blocks
  Erase Region #2: BlockSize 0x2000 bytes, 8 blocks
phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit mode

phys_mapped_flash: Found 1 x16 devices at 0x2000000 in 16-bit mode
 Amd/Fujitsu Extended Query Table at 0x0040
  Silicon revision: 2
  Address sensitive unlock: Required
  Erase Suspend: Read/write
  Block protection: 1 sectors per group
  Temporary block unprotect: Supported
  Block protect/unprotect scheme: 4
  Number of simultaneous operations: 119
  Burst mode: Not supported
  Page mode: Not supported
  Vpp Supply Minimum Program/Erase Voltage: 8.5 V
  Vpp Supply Maximum Program/Erase Voltage: 9.5 V
  Top/Bottom Boot Block: 8x8KiB sectors at top & bottom, no WP
phys_mapped_flash: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 2
Using word write method
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
...
Using physmap partition definition
Creating 4 MTD partitions on "phys_mapped_flash":
0x00000000-0x00800000 : "Physically mapped flash"
mtd: Giving out device 0 to Physically mapped flash
0x00000000-0x00400000 : "boot"
mtd: Giving out device 1 to boot
0x00400000-0x00500000 : "root"
mtd: Giving out device 2 to root
0x00500000-0x00800000 : "fs"
mtd: Giving out device 3 to fs
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Fast Floating Point Emulator V0.9 (c) Peter Teichmann.
mtdblock_open
ok
VFS: Mounted root (cramfs filesystem).
Freeing init memory: 48K
init started:  BusyBox v0.60.5 (2003.12.11-19:24+0000) multi-call binary

...

The system is successfully booted up.

# uname -a
Linux (none) 2.4.22 #67 Tue Dec 23 10:50:28 PST 2003 armv5EJb unknown

# more /proc/mtd
dev:    size   erasesize  name
mtd0: 00800000 00010000 "Physically mapped flash"
mtd1: 00400000 00010000 "boot"
mtd2: 00100000 00010000 "root"
mtd3: 00300000 00010000 "fs"

# mount -t jffs2 /dev/mtdblock3 /mnt
mtdblock_open
ok
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051000: 0xc38f instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051004: 0xfa34 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051008: 0x18d9 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0005100c: 0xea31 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051010: 0xd01e instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051014: 0x3a50 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051018: 0xc271 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0005101c: 0x017f instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051020: 0x7a20 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00051024: 0x9eb2 instead
Further such events for this erase block will not be printed
# cd mnt
# ls
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x0000003c in get_inode_nodes()
jffs2_get_inode_nodes() for ino 2 returned -5
ls: ./20031209: Input/output error
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x00000278 in get_inode_nodes()
jffs2_get_inode_nodes() for ino 3 returned -5
ls: ./20031210: Input/output error
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x000006cc in get_inode_nodes()
jffs2_get_inode_nodes() for ino 4 returned -5
ls: ./20031211: Input/output error
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x00000af0 in get_inode_nodes()
jffs2_get_inode_nodes() for ino 5 returned -5
ls: ./20031217: Input/output error
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x00001254 in get_inode_nodes()
jffs2_get_inode_nodes() for ino 6 returned -5
ls: ./20031218: Input/output error
Chip not ready after erase suspended: status = 0x1985
error -5 reading node at 0x00001524 in get_inode_nodes()
jffs2_get_inode_nodes() for ino 7 returned -5
ls: ./20031219: Input/output error
# ls
ls: ./20031209: Input/output error
ls: ./20031210: Input/output error
ls: ./20031211: Input/output error
ls: ./20031217: Input/output error
ls: ./20031218: Input/output error
ls: ./20031219: Input/output error


(Please note that 2003XXXX are simply plain text files in the JFFS2 filesystem)



- Thomas

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Unable to access JFFS2 filesystem
@ 2003-12-30 18:39 thomaspang
  2004-01-02 11:12 ` David Vrabel
  0 siblings, 1 reply; 5+ messages in thread
From: thomaspang @ 2003-12-30 18:39 UTC (permalink / raw)
  To: linux-mtd

With David's patches, I am able to access the JFFS2 file system.  Thanks.
However, the following weird behaviors are observed:

- incorrect filesystem meta-data or not properly displayed when
  issuing "ls" command.
 
    # ls -al
    drwxr-xr-x    1 root     root            0 Dec 11  2003 .
    drwxr-xr-x    1 root     root            0 Dec 11  2003 ..
    drwxr-xr-x    1 501      501             0 Dec 11  2003 bin
    drwxr-xr-x    1 501      501             0 Dec 11  2003 dev
    drwxr-xr-x    1 501      501             0 Dec  9  2003 etc
    drwxr-xr-x    1 501      501             0 Dec 11  2003 lib
    lrwxrwxrwx    1 501      501            11 Dec 11  2003 
 linuxrc -> bin/busybox
    drwxr-xr-x    1 root     root            0 Jan  1 00:28 mnt
    dr-xr-xr-x   21 root     root            0 Jan  1 00:00 proc
    drwxr-xr-x    1 501      501             0 Dec 11  2003 sbin
    drwxrwxrwt    1 501      501             0 Jan  1 00:27 tmp
    drwxr-xr-x    1 501      501             0 Dec 11  2003 usr
    drwxr-xr-x    1 501      501             0 Dec 11  2003 var
 
    # df .
    Filesystem           1k-blocks      Used Available Use% 
 Mounted on
    rootfs                    1024       740       284  72% /
 
   Even though there are files inside bin/ directory, the size
   of that directory displayed is 0. 
 
- copying file within its own partition results in the following
  error messages.  This problem is happened to the JFFS2 root 
 filesystem  only.
 
  ...
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  Raw node at 0x0005ccc0 wasn't in node lists for ino #109
  ...
 
- The write performance is kind of poor.  I have tried to copy
  files of different sizes from CRAMFS to JFFS2, or from JFFS2
  to another JFFS2 partition.  On average, the copying speed
  is approx. 7.5 kbytes/sec.  It seems too slow.
 
  Any suggestions / comments are much appreciated.
 
Thomas
 
 
 
 
 
> ----- Original Message -----
> From: Thayne Harbaugh <tharbaugh@lnxi.com>
> Date: Tuesday, December 30, 2003 9:32 am
> Subject: Re: Unable to access JFFS2 filesystem
> 
> > On Tue, 2003-12-23 at 12:25, thomaspang@shaw.ca wrote:
> > > I repost this message as I do not get any response.
> > 
> > > Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard)
> > 
> > It appears that you are using cfi_cmdset_0002.  Please try David
> > Vrabel's patches and let me know if things change.
> > 
> > http://lists.infradead.org/pipermail/linux-mtd/2003-
> > December/009001.htmlhttp://lists.infradead.org/pipermail/linux-
> > mtd/2003-December/009009.html
> > 
> > -- 
> > Thayne Harbaugh
> > Linux Networx
> > 
> > 
> 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-01-02 18:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-23 19:25 Unable to access JFFS2 filesystem thomaspang
2003-12-24  9:39 ` David Vrabel
2003-12-30 17:32 ` Thayne Harbaugh
  -- strict thread matches above, loose matches on Subject: below --
2003-12-30 18:39 thomaspang
2004-01-02 11:12 ` David Vrabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox