* doc2000 problem
@ 2004-12-08 12:41 zhang jingxin
2004-12-08 14:15 ` Dan Brown
0 siblings, 1 reply; 4+ messages in thread
From: zhang jingxin @ 2004-12-08 12:41 UTC (permalink / raw)
To: linux-mtd
hi,
I want use JFFS2 on my DOC2000 original.I download the latest CVS
version(041128).I use diskonchip.c to drive.It works.
Dec 6 17:47:11 localhost kernel: Creating 1 MTD partitions on
"DiskOnChip 2000 (NFTL Model)":
Dec 6 17:47:11 localhost kernel: 0x00014000-0x02000000 : " DiskOnChip
BDTL partition"
Dec 6 17:47:11 localhost kernel: mtd: Giving out device 1 to
DiskOnChip BDTL partition
But it has a little error.
Dec 8 10:23:54 localhost kernel: nand_read_ecc: from = 0x0000c000, len
= 512
Dec 8 10:23:54 localhost kernel: nand_read_ecc: Failed ECC read, page
0x00000060 on chip 0
Dec 8 10:23:54 localhost kernel: ECC error scanning DOC at 0xc000
Dec 8 10:23:54 localhost kernel: nand_read_ecc: from = 0x00010000, len
= 512
Dec 8 10:23:55 localhost kernel: nand_read_ecc: Failed ECC read, page
0x00000080 on chip 0
Dec 8 10:23:55 localhost kernel: ECC error scanning DOC at 0x10000
There are two ECC errors.
Then it nand_read_ecc 0x0000c200 .
Dec 8 10:23:55 localhost kernel: nand_read_ecc: from = 0x0000c200, len
= 2048
I don't know why,this position has already done.
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!):
- Have a DOC Millenium or DOC2000 TSOP. Millenium+ is not supported
(other
folks are hard at work on this). DOC2000 original does not have BBT
handling yet (coming soon!) and should not be used with JFFS2 yet.
- 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!
- A bunch of mtd devices should be created. mtd0 is the whole DOC. The
others are partitions created by M-Systems. A "BDK" partition is
probably
the M-Sys BIOS driver. A "BDTL" partition is where your INFTL
filesystem
used to be. I say used to be, because you're about to trash it.
- You can review the list of devices with 'cat /proc/mtd'
- 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??
It's this reason --DOC2000 original does not have BBT
handling yet (coming soon!).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: doc2000 problem
2004-12-08 12:41 doc2000 problem zhang jingxin
@ 2004-12-08 14:15 ` Dan Brown
0 siblings, 0 replies; 4+ messages in thread
From: Dan Brown @ 2004-12-08 14:15 UTC (permalink / raw)
To: zhang jingxin; +Cc: linux-mtd
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* doc2000 problem
@ 2004-12-09 1:28 zhang jingxin
2004-12-09 9:55 ` Thomas Gleixner
0 siblings, 1 reply; 4+ messages in thread
From: zhang jingxin @ 2004-12-09 1:28 UTC (permalink / raw)
To: list
I am sorry to write another mail as I use a bad mailtool.
>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.
And I find this head in the diskonchip.c.
/*
* drivers/mtd/nand/diskonchip.c
*
* (C) 2003 Red Hat, Inc.
* (C) 2004 Dan Brown <dan_brown@ieee.org>
* (C) 2004 Kalev Lember <kalev@smartlink.ee>
*/
So I think there is no problem you metioned.
>BBT handling was added for DOC2000 original after I wrote this email.
>It should work just fine with JFFS2 (it does for me).
I use the mtd-util-20011008.tar.bz2. It should not have BBT problem.
>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.
I use the right position,and it shows this:
Dec 8 10:23:52 localhost kernel: Using configured DiskOnChip probe
address 0xd8000
Dec 8 10:23:52 localhost kernel: DiskOnChip found at 0xd8000
I read this from mtd/device/docprobe.c.
static unsigned long __initdata doc_locations[] = {
#if defined (__alpha__) || defined(__i386__) || defined(__x86_64__)
#ifdef CONFIG_MTD_DOCPROBE_HIGH
0xfffc8000, 0xfffca000, 0xfffcc000, 0xfffce000,
0xfffd0000, 0xfffd2000, 0xfffd4000, 0xfffd6000,
0xfffd8000, 0xfffda000, 0xfffdc000, 0xfffde000,
0xfffe0000, 0xfffe2000, 0xfffe4000, 0xfffe6000,
0xfffe8000, 0xfffea000, 0xfffec000, 0xfffee000,
#else /* CONFIG_MTD_DOCPROBE_HIGH */
0xc8000, 0xca000, 0xcc000, 0xce000,
0xd0000, 0xd2000, 0xd4000, 0xd6000,
0xd8000, 0xda000, 0xdc000, 0xde000,
0xe0000, 0xe2000, 0xe4000, 0xe6000,
0xe8000, 0xea000, 0xec000, 0xee000,
#endif /* CONFIG_MTD_DOCPROBE_HIGH */
>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).
I run MAKEFILE.
It return like this
mtd* file exist.
flash_eraseall -j /dev/mtd1
it doesn't recongize the device.
it return no such device.
Then what should I do??
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: doc2000 problem
2004-12-09 1:28 zhang jingxin
@ 2004-12-09 9:55 ` Thomas Gleixner
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2004-12-09 9:55 UTC (permalink / raw)
To: zhang jingxin; +Cc: list
On Thu, 2004-12-09 at 09:28 +0800, zhang jingxin wrote:
> flash_eraseall -j /dev/mtd1
> it doesn't recongize the device.
> it return no such device.
Provide the output of
# ls -l /dev/mtd*
tglx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-12-09 9:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-08 12:41 doc2000 problem zhang jingxin
2004-12-08 14:15 ` Dan Brown
-- strict thread matches above, loose matches on Subject: below --
2004-12-09 1:28 zhang jingxin
2004-12-09 9:55 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox