public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Pham Huy Vu" <vuph@mail.cable.net.tw>
To: <linux-mtd@lists.infradead.org>
Subject: Copy files to jffs2 partition have problem
Date: Thu, 5 Feb 2004 01:15:52 +0800	[thread overview]
Message-ID: <00e301c3eb42$8dfbbc80$030910ac@linuxer> (raw)

Hi all,
I have used uClinux on my Samsung ARM7 board,
My flash (MX 29LV320TTC- 4MB) have
    + configurations:
    static const struct awtel_info awtel_flash_board_desc[PHYSMAP_NUMBER] =
            {   // DATA Flash configuration
                "MX FLASH",          // name
                0xE0000000,          // window_addr
                0x400000,              // window_size
                2,                          // buswidth 16 bits mode
                5,                          // num_partitions
        },
    +5 partitons:
                {
                        name: "Whole partition",
                        size: 0x400000,
                        offset: 0x000000,
                },
                {
                        name: "Bios partition",
                        size: 0x010000,
                        offset: 0x000000,
                },
                {
                        name: "Kernel partition",
                        size: 0x1e0000,
                        offset: 0x010000,
                },
                {
                        name: "Data partition", // jffs2 fs on this
partition
                        size: 0x1e0000,
                        offset: 0x200000,
                },
                {
                        name: "Configuration partition",
                        size: 0x010000,
                        offset: 0x3e0000,
                },

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 },
        }
....
}

BUT I always go problem when copy files:
---------------------
Booting messages:
......
awtel_flash device: 400000 at e0000000
awtel_flash: ioremap is e0000000
buswidth is 2
MX FLASH: Probing for AMD compatible flash...
buswidth is 2
amd_flash.c:362:buswidth is 2
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0xf0
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xf000f0
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0x90
amd_flash.c:198 flash WRITE addr=0xaaa, val=0x900090
awtel_read16:0xe0000000
amd_flash.c:184 flash READ addr=0x0, val=0xc2
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0xf0
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xf000f0
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0x90
amd_flash.c:198 flash WRITE addr=0xaaa, val=0x900090
awtel_read16:0xe0000002
amd_flash.c:184 flash READ addr=0x2, val=0x22a7
amd_flash.c:385: buswidth:2, mfr_id=0xc2, dev_id=0x22a7
MX FLASH: Found 1 x 4MiB MXIC MX29LV320T at 0x0
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0xf0
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xf0
phymap 0 amd_flash_probe: mymtd is 1fcf3a0
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
init_mtdchar: allocated major number 90.
init_mtdblock: allocated major number 131.
.....


#mkfs.jffs2 -l -r /tmp/data/ -o data.jffs2
#dd if=data.jffs2 of=/dev/mtd3 bs=64
#mount -t jffs2 /dev/mtdblock3 /var/flash
# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    3.1M      3.1M         0 100% /
/dev/rom0                 3.1M      3.1M         0 100% /
/dev/mtdblock3            1.9M      1.2M    664.0k  65% /var/flash

#ls  -la /tmp
-rwxrwxrwx    1 0        root       292756 abc

#cp /tmp/abc /var/flash/
cp: write: Input/output error

#ls -la /var/flash
-rwxr-xr-x    1 0        root        42749 abc
drwxr-xr-x    1 0        root           32 usr

# dmesg
......
awtel_write16:0xe0000aaa, 0xaa
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xaa00aa
awtel_write16:0xe0000554, 0x55
amd_flash.c:198 flash WRITE addr=0x554, val=0x550055
awtel_write16:0xe0000aaa, 0xa0
amd_flash.c:198 flash WRITE addr=0xaaa, val=0xa0
awtel_write16:0xe03a59c0, 0x10
amd_flash.c:198 flash WRITE addr=0x3a59c0, val=0x14000010
awtel_read16:0xe03a59c0
amd_flash.c:184 flash READ addr=0x3a59c0, val=0x10
awtel_read16:0xe03a59c0
amd_flash.c:184 flash READ addr=0x3a59c0, val=0x10
awtel_read16:0xe03a59c0
amd_flash.c:184 flash READ addr=0x3a59c0, val=0x10
MX FLASH: write to 0x3a59c0 failed. datum = 14000010, verify = 10
Write of 71 bytes at 0x001a597c failed. returned 0, retlen 68
jffs2_add_physical_node_ref(): Node at 0x1a597c, size 0x48
jffs2_mark_node_obsolete called with already obsolete node at 0x001a597c
jffs2_complete_reservation()
thread_should_wake(): nr_free_blocks 14, nr_erasing_blocks 0, dirty_size
0x184
jffs2_commit_write(): Not all bytes written. Marking page !uptodate
jffs2_commit_write() returning -5
.........

------------------------------
Please help me if someone overcomes these problem or give me some hints.

+ Why i got errors when i copy files to jffs2 partition even my free space
enough for Garbage collection ( 5*64k = 320k < 664.0k)?
+ "MX FLASH: write to 0x3a59c0 failed. datum = 14000010, verify = 10
    Write of 71 bytes at 0x001a597c failed. returned 0, retlen 68"
    =>Why it write 71 bytes?
+ Did I set up something wrong with my flash?
Thanks a lot.


----mark pham----

             reply	other threads:[~2004-02-04 17:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-04 17:15 Pham Huy Vu [this message]
2004-02-04 19:53 ` Copy files to jffs2 partition have problem Jonas Holmberg
2004-02-06  4:34   ` Pham Huy Vu
2004-02-06  7:51     ` David Woodhouse
2004-02-07  5:18       ` Pham Huy Vu
2004-02-11  4:22         ` Pham Huy Vu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00e301c3eb42$8dfbbc80$030910ac@linuxer' \
    --to=vuph@mail.cable.net.tw \
    --cc=linux-mtd@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox