* INFTL report
@ 2003-11-07 1:24 Chris Ellec
2003-11-08 0:02 ` David Woodhouse
2003-11-10 7:54 ` David Woodhouse
0 siblings, 2 replies; 3+ messages in thread
From: Chris Ellec @ 2003-11-07 1:24 UTC (permalink / raw)
To: linux-mtd
[-- Attachment #1: Type: text/plain, Size: 647 bytes --]
I patched a fresh 2.4.22 with 20031105 from cvs and configured the
kernel for inftl insead of nftl.
$ modprobe -a doc200 inftl mtdchar mtdblock
$ modprobe -a docprobe
produced the attached /var/log/messages and also those lines that were
not in the log file;
INFTL: corrupt block 7140 in chain 7140, chain length 0, erase mark 0x0?
INFTL: formatting chain at block 7140
INFTL: error while formatting block 7140
repeated for a few more addresses.
also the loading of docprobe.o seem to fail most of times, even though
/dev/inftla1 is available for me to mount and create files on it.
relevant part of /var/log/messages attached.
Chris.
[-- Attachment #2: log.inftl --]
[-- Type: text/plain, Size: 5761 bytes --]
Nov 6 17:49:26 INFTL: inftlcore.c $Revision: 1.14 $, inftlmount.c $Revision: 1.12 $
Nov 6 17:49:40 DiskOnChip 2000 TSOP found at address 0xD8000
Nov 6 17:49:40 Flash chip found: Manufacturer ID: EC, Chip ID: 79 (Samsung:NAND 128MiB 3,3V)
Nov 6 17:49:40 2 flash chips found. Total DiskOnChip size: 256 MiB
Nov 6 17:49:40 mtd: Giving out device 0 to DiskOnChip 2000 TSOP
Nov 6 17:49:40 INFTL: add_mtd for DiskOnChip 2000 TSOP
Nov 6 17:49:40 INFTL: INFTL_mount(inftl=0xcf888400)
Nov 6 17:49:40 INFTL: find_boot_record(inftl=0xcf888400)
Nov 6 17:49:40 _DoC_WaitReady called for out-of-line wait
Nov 6 17:49:40 INFTL: Media Header ->
Nov 6 17:49:40 bootRecordID = BNAND
Nov 6 17:49:40 NoOfBootImageBlocks = -1
Nov 6 17:49:40 NoOfBinaryPartitions = 1
Nov 6 17:49:40 NoOfBDTLPartitions = 1
Nov 6 17:49:52 BlockMultiplerBits = 0
Nov 6 17:49:52 FormatFlgs = 1
Nov 6 17:49:53 OsakVersion = 0x30323135
Nov 6 17:49:55 PercentUsed = 98
Nov 6 17:49:55 PARTITION[0] ->
Nov 6 17:49:55 virtualUnits = 4
Nov 6 17:49:55 firstUnit = 2
Nov 6 17:49:55 lastUnit = 5
Nov 6 17:49:55 flags = 0x20000000
Nov 6 17:49:55 spareUnits = 0
Nov 6 17:49:55 PARTITION[1] ->
Nov 6 17:49:55 virtualUnits = 16045
Nov 6 17:49:55 firstUnit = 10
Nov 6 17:49:55 lastUnit = 16383
Nov 6 17:49:55 flags = 0xc0000000
Nov 6 17:49:55 spareUnits = 2
Nov 6 17:49:55 _DoC_WaitReady called for out-of-line wait
Nov 6 17:49:55 fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:55 3750: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:55 3758: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:55 3760: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:55 3768: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:55 3770: fffe fffe fffe fffe fffe fffe fffe fffe
<snip>
Nov 6 17:49:56 3fd0: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 3fd8: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 3fe0: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 3fe8: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 3ff0: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 3ff8: fffe fffe fffe fffe fffe fffe fffe fffe
Nov 6 17:49:56 -----------------------------------------------------------------------------
Nov 6 17:49:56 INFTL ->
Nov 6 17:49:56 EraseSize = 16384
Nov 6 17:49:56 h/s/c = 0/0/0
Nov 6 17:49:56 numvunits = 16045
Nov 6 17:49:56 firstEUN = 10
Nov 6 17:49:56 lastEUN = 16383
Nov 6 17:49:56 numfreeEUNs = 0
Nov 6 17:49:56 LastFreeEUN = 0
Nov 6 17:49:56 nb_blocks = 16384
Nov 6 17:49:56 nb_boot_blocks = 10
Nov 6 17:49:56 -----------------------------------------------------------------------------
Nov 6 17:49:56 -----------------------------------------------------------------------------
Nov 6 17:49:56 INFTL Virtual Unit Chains:
Nov 6 17:49:56 LOGICAL 0 --> 11
Nov 6 17:49:56 LOGICAL 1 --> 51 50 49 47 10 29 12
Nov 6 17:49:56 LOGICAL 17 --> 48 44 28
Nov 6 17:49:56 LOGICAL 513 --> 45
Nov 6 17:49:56 LOGICAL 1025 --> 46
Nov 6 17:49:56 LOGICAL 1537 --> 13
Nov 6 17:49:56 LOGICAL 2049 --> 14
Nov 6 17:49:56 LOGICAL 2561 --> 15
Nov 6 17:49:56 LOGICAL 3073 --> 16
Nov 6 17:49:56 LOGICAL 3585 --> 17
Nov 6 17:49:56 LOGICAL 4097 --> 18
Nov 6 17:49:56 LOGICAL 4609 --> 19
Nov 6 17:49:56 LOGICAL 5121 --> 20
Nov 6 17:49:56 LOGICAL 5633 --> 21
Nov 6 17:49:56 LOGICAL 6145 --> 22
Nov 6 17:49:56 LOGICAL 6657 --> 23
Nov 6 17:49:56 LOGICAL 7169 --> 24
Nov 6 17:49:56 LOGICAL 7681 --> 25
Nov 6 17:49:56 LOGICAL 8193 --> 26
Nov 6 17:49:56 LOGICAL 8705 --> 27
Nov 6 17:49:56 LOGICAL 9217 --> 30
Nov 6 17:49:56 LOGICAL 9729 --> 31
Nov 6 17:49:56 LOGICAL 10241 --> 32
Nov 6 17:49:56 LOGICAL 10753 --> 33
Nov 6 17:49:56 LOGICAL 11265 --> 34
Nov 6 17:49:56 LOGICAL 11777 --> 35
Nov 6 17:49:56 LOGICAL 12289 --> 36
Nov 6 17:49:56 LOGICAL 12801 --> 37
Nov 6 17:49:56 LOGICAL 13313 --> 38
Nov 6 17:49:56 LOGICAL 13825 --> 39
Nov 6 17:49:56 LOGICAL 14337 --> 40
Nov 6 17:49:56 LOGICAL 14849 --> 41
Nov 6 17:49:56 LOGICAL 15361 --> 42
Nov 6 17:49:56 LOGICAL 15873 --> 43
Nov 6 17:49:56 -----------------------------------------------------------------------------
Nov 6 17:49:56 INFTL: pass 3, format unused blocks
Nov 6 17:49:56 INFTL: cannot calculate a geometry to match size of 0x7d5a0.
Nov 6 17:49:56 INFTL: using C:1002 H:16 S:32 (== 0x7d400 sects)
Nov 6 17:49:56 inftla:<6>INFTL: inftl_readblock(inftl=0xcf888400,block=0,buffer=0xcd1d1000)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=1,buffer=0xcd1d1200)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=2,buffer=0xcd1d1400)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=3,buffer=0xcd1d1600)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=4,buffer=0xcd1d1800)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=5,buffer=0xcd1d1a00)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=6,buffer=0xcd1d1c00)
Nov 6 17:49:56 INFTL: inftl_readblock(inftl=0xcf888400,block=7,buffer=0xcd1d1e00)
Nov 6 17:49:56 inftla1
Nov 6 17:49:56 Ignoring DiskOnChip 2000 at 0xDA000 - already configured
Nov 6 17:49:56 Ignoring DiskOnChip 2000 at 0xDC000 - already configured
Nov 6 17:49:56 Ignoring DiskOnChip 2000 at 0xDE000 - already configured
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: INFTL report
2003-11-07 1:24 INFTL report Chris Ellec
@ 2003-11-08 0:02 ` David Woodhouse
2003-11-10 7:54 ` David Woodhouse
1 sibling, 0 replies; 3+ messages in thread
From: David Woodhouse @ 2003-11-08 0:02 UTC (permalink / raw)
To: Chris Ellec; +Cc: linux-mtd
On Thu, 2003-11-06 at 17:24 -0800, Chris Ellec wrote:
> INFTL: corrupt block 7140 in chain 7140, chain length 0, erase mark 0x0?
> INFTL: formatting chain at block 7140
> INFTL: error while formatting block 7140
>
> repeated for a few more addresses.
Hmmm. I suspect those could be bad blocks, and we're not interpreting
the Bad Block Table correctly. I really do need to spent a little time
on fixing the BBT handling for all the DiskOnChip devices; I want to
make it completely impossible to erase a bad block without hacking the
code to allow it.
Can you take a complete dump of the /dev/mtd0 device with nanddump and
let me have a copy, please?
> also the loading of docprobe.o seem to fail most of times, even though
> /dev/inftla1 is available for me to mount and create files on it.
That's intentional and harmless. It installs the appropriate (doc2000)
driver and exits having done its work -- the docprobe module _really_ is
just for probing.
--
dwmw2
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: INFTL report
2003-11-07 1:24 INFTL report Chris Ellec
2003-11-08 0:02 ` David Woodhouse
@ 2003-11-10 7:54 ` David Woodhouse
1 sibling, 0 replies; 3+ messages in thread
From: David Woodhouse @ 2003-11-10 7:54 UTC (permalink / raw)
To: Chris Ellec; +Cc: gerg, linux-mtd
On Thu, 2003-11-06 at 17:24 -0800, Chris Ellec wrote:
> $ modprobe -a doc200 inftl mtdchar mtdblock
> $ modprobe -a docprobe
>
> produced the attached /var/log/messages and also those lines that were
> not in the log file;
>
> INFTL: corrupt block 7140 in chain 7140, chain length 0, erase mark 0x0?
> INFTL: formatting chain at block 7140
> INFTL: error while formatting block 7140
>
> repeated for a few more addresses.
Er, that could be because, as far as I can tell, our INFTL code doesn't
actually look at the Bad Block Table at all. I suspect those are bad
blocks and we should be ignoring them.
We _really_ need to look at handling the BBT properly on these devices.
--
dwmw2
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-11-10 7:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-07 1:24 INFTL report Chris Ellec
2003-11-08 0:02 ` David Woodhouse
2003-11-10 7:54 ` David Woodhouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox