On Friday 12 August 2005 01:59, Pihet Jean-jpih01 wrote: > Hello, > > I am using the latest YAFFS and MTD tarballs on a 2.6.10 kernel on ARM1136. > My board has a Samsung NAND device with hardware ECC enabled. > > The YAFFS write verify always fails. The dump shows that the ECC bytes > (bytes 6..10) are in cause: Verify failed: > Addr s0 data: > 0x0000: 00 00 d0 ff ff ff f0 d6 8c ff ff ff 05 01 d8 c1 > Addr s1 data: > 0x0000: 00 00 d0 ff ff ff c3 fc f0 65 02 ff 05 01 d8 c1 > > Do you know what is the cause of this problem ? I checked that ECC and > VERIFY are enabled in the config, that the oobinfo structs are correctly > filled in. > > Any thoughts ? ECC and bad block handling between mtd and yaffs is the most common problem encountered here. The trick is to do this in excatly one place only (ie YAFFS or mtd). You also need to make sure that yaffs is using the same OOB layout at mtd. The standard YAFFS layout is as used by SmartMedia. If you are using some other OOB layout (quyite likely the case with some hardware ECC), then you need to ensure that: 1) YAFFS is not doing ECC 2) The spare bytes are being placed in the correct area. You might need to write some byte shuffling code. -- Charles