Copy files to jffs2 partition have problem
Pham Huy Vu
vuph at mail.cable.net.tw
Thu Feb 5 23:34:17 EST 2004
Hi Jonas,
Thanks for your reply,
I select CFI to probe my flash, The kernel can detect it like below
...............
awtel_flash device: 400000 at e0000000
awtel_flash: ioremap is e0000000
buswidth is 2
Number of erase regions: 2
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 µs
Maximum block erase timeout: 16384 µs
Chip erase not supported
Device size: 0x400000 bytes (4 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: 2
Erase Region #0: BlockSize 0x2000 bytes, 8 blocks
Erase Region #1: BlockSize 0x10000 bytes, 63 blocks
Amd/Fujitsu Extended Query Table v1.1 at 0x0040
MX FLASH: Swapping erase regions for broken CFI table.
number of CFI chips: 1
phymap 0 cfi_probe: mymtd is 1fcb420
Creating 5 MTD partitions on "MX FLASH":
0x00000000-0x00400000 : "Whole partition"
mtd: Giving out device 0 to Whole partition
0x00000000-0x00010000 : "Bios partition"
mtd: Giving out device 1 to Bios partition
0x00010000-0x001f0000 : "Kernel partition"
mtd: Giving out device 2 to Kernel partition
0x00200000-0x003e0000 : "Voip partition"
mtd: Giving out device 3 to Voip partition
0x003e0000-0x003f0000 : "Configuration partition"
mtd: Giving out device 4 to Configuration partition
...............
# cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00010000 "Whole partition"
mtd1: 00010000 00010000 "Bios partition"
mtd2: 001e0000 00010000 "Kernel partition"
mtd3: 001e0000 00010000 "Voip partition"
mtd4: 00010000 00010000 "Configuration partition"
--------
I also got that problem ( cp: write: Input/output error ) when copy files
#cp /tmp/abc /var/flash/
cp: write: Input/output error
#dmesg
....
Last[3] is 10, datum is 14000010
Write of 71 bytes at 0x000fe494 failed. returned 0, retlen 68
.....
I think mtd driver is ok,
I just think the jffs2 fs or mkfs.jffs2 have bugs???
Please help me find out problem.
My uClinux:
#dmesg
Linux version 2.4.19-uc1 (vuph at devel.sunyard-vietnam.com) (gcc version
2.95.3 20
010315 (release)(ColdFire patches - 20010318 from
http://fiddes.net/coldfire/)(u
Clinux XIP and shared lib patches from http://www.snapgear.com/)) #1873
22:14:59
....
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis
Communications
AB.
....
# mkfs.jffs2 -v
mkfs.jffs2 revision 1.20
The mtd version 2002/03/22 07:10:34
Thanks.
----mark pham----
----- Original Message -----
From: "Jonas Holmberg" <jonas.holmberg at axis.com>
To: "Pham Huy Vu" <vuph at mail.cable.net.tw>
Cc: <linux-mtd at lists.infradead.org>
Sent: Thursday, February 05, 2004 3:53 AM
Subject: Re: Copy files to jffs2 partition have problem
> On Thu, Feb 05, 2004 at 01:15:52AM +0800, Pham Huy Vu wrote:
> [snip]
> > In amd_flash.c:
> > static const struct amd_flash_info table[] = {
> > ....
> > //This my flash setup
> > mfr_id: MANUFACTURER_MX,
> > dev_id: MX29LV320T,
> > name: "MXIC MX29LV320T",
> > size: 0x00400000,
> > numeraseregions: 3,
> > regions: {
> > { offset: 0x000000, erasesize: 0x10000, numblocks: 48 },
> > { offset: 0x300000, erasesize: 0x10000, numblocks: 15 },
> > { offset: 0x3f0000, erasesize: 0x02000, numblocks: 8 },
>
> Hmm, I wonder why this isn't
>
> { offset: 0x000000, erasesize: 0x10000, numblocks: 63 },
> { offset: 0x3f0000, erasesize: 0x02000, numblocks: 8 },
>
> Because of two banks? Make sure this layout is correct (check the
> datasheet). I have seen commits to the table in amd_flash.c that were
> wrong before. If your flash chip supports CFI, try using the
> CFI-driver. Otherwise try jedec_probe.c instead. amd_flash is
> obsolete.
>
> Another piece of probably useless information:
> I resently tested another, 64Mbit, MX-flash that didn't work with the
> CFI-driver because thay had gotten the number of eraseregions wrong in
> the CFI-table (in flash). A new, corrected version of the chip was
> released, but with exactly the same device ID, grrr. (Got any
> unused baseball bats left, David?)
>
> [snap]
> > MX FLASH: write to 0x3a59c0 failed. datum = 14000010, verify = 10
>
> With buswidth 2 you can only write 16-bits. That's probably why verify
> is 0x0010. I don't know why jffs2 tries to write 0x14000010, though.
>
> /Jonas
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
More information about the linux-mtd
mailing list