doc2000 problem
Dan Brown
dan.brown at nrl.navy.mil
Wed Dec 8 09:15:58 EST 2004
zhang jingxin wrote: [edited for brevity]
> I want use JFFS2 on my DOC2000 original.I download the latest CVS
> version(041128).I use diskonchip.c to drive.It works.
> But it has a little error.
>
> Dec 8 10:23:54 localhost kernel: ECC error scanning DOC at 0xc000
> Dec 8 10:23:55 localhost kernel: ECC error scanning DOC at 0x10000
This error is not a real problem. When the diskonchip driver starts up,
it scans your device looking for the media header, which is a section of
the device which describes the partitions on the device. In many cases,
the M-Systems tools do not bother to place proper ECC information in the
media header. The result is that we get ECC errors when reading those
pages. Although the driver reports these errors, they do not prevent
the proper operation of the driver (though of course the lack of ECC
increases the chances of a read error slipping past us).
> I had read below
>
> 2004-10-26 15:46
>
> Dan Brown dan_brown at ieee.org
> Fri Jun 18 19:30:56 EDT 2004
> Brief HOWTO (better HOWTO coming soon!):
Unfortunately, the email you're quoting from is out of date. The better
HOWTO never came, soon or otherwise. Oops. To the best of my
recollection (I've been away from this code a bit lately), I'll try to
address each of the points:
> - Have a DOC Millenium or DOC2000 TSOP. Millenium+ is not supported
> (other
> folks are hard at work on this).
Kalev Lember added Millenium+ support to diskonchip.c. I think he sent
an announcement to the list, but since you're not using that device I
won't go into detail.
> DOC2000 original does not have BBT
> handling yet (coming soon!) and should not be used with JFFS2 yet.
BBT handling was added for DOC2000 original after I wrote this email.
It should work just fine with JFFS2 (it does for me).
> - Load the new diskonchip module (there is now a kernel configuration
> option
> for this under NAND devices). If your DOC device is not at window D000,
> you'll have to edit the source or remap your chip. Proper probing
> coming soon!
Proper probing did indeed come soon, as I copied it more-or-less
verbatim from the old driver. The kernel configuration options (and
accompanying help text) should hopefully make this clear.
> - Assuming your BDTL partition is mtd3:
>
> flash_eraseall -j /dev/mtd3
> mkfs.jffs2 -p -e 16384 -n -q -r <rootdir> -o <outputfile>
> nandwrite /dev/mtd3 <outputfile from above>
> mount -t jffs2 /dev/mtdblock3 <mountpoint>
>
> So I follow it.
> I review the list of devices with 'cat /proc/mtd'
>
> cat /proc/mtd
> dev: size erasesize name
> mtd0: 02000000 00004000 "DiskOnChip 2000 (NFTL Model)"
> mtd1: 01fec000 00004000 " DiskOnChip BDTL partition"
>
> flash_eraseall -j /dev/mtd1
> It doesn't recongize the device.
> what should i do??
Did you create the device nodes in /dev? Unless you're using devfs or
suchlike, device nodes are not automatically created for you (even
though the devices themselves were created when you loaded the modules).
Try running the MAKEFILE script included in the mtd CVS (in the util
directory).
Once you've created the devices nodes, the flash_eraseall command should
work for you. At that point you could follow my original sequence of
commands. I've seen some discussion on this list lately about changes
in mkfs.jffs2 syntax, so be aware that the options I specify may not be
exactly correct (I haven't kept up well enough to be sure).
Alternatively, there is a much simpler way to get started using JFFS2.
After performing the flash_eraseall -j, just mount the device (in other
words, skip the mkfs.jffs2 and nandwrite steps). You should now have an
empty, mounted jffs2 partition, and you can proceed to put whatever
files you want on it.
Hope this helps,
Dan Brown
More information about the linux-mtd
mailing list