[Yaffs] NAND ECC working now on my 2.4.20 (Was: Re: Writing a single file marks entire device as bad)

Martin Egholm Nielsen martin at egholm-nielsen.dk
Fri Jul 29 11:13:13 BST 2005


Hi there,

Finally, I stumbled over the patch that made it all work at last:
http://stoneboat.aleph1.co.uk/pipermail/yaffs/2004q4/000868.html

So now I can use USE_NANDECC without having MTD whinging about it.

Further, I added some "#include <linux/config.h>" to all the c-files, as 
there seemed to be a problem there...

Thanks (Charles, Nick, and Luc - and tglx for helping Aras back in 2004)
  Martin Egholm

>>>>> Now, new strange things are happening!
>>>>> I enabled "CONFIG_MTD_NAND_VERIFY_WRITE=y" in the kernel, and 
>>>>> suddenly it begun working!!
>>>>> However, I get these kernel messages (alot) whenever I try to 
>>>>> read/write anything:
>>>>>
>>>>> === 8< 8< 8< ===
>>>>>    Writing data without ECC to NAND-FLASH is not recommended
>>>>>    Writing data without ECC to NAND-FLASH is not recommended
>>>>>    Writing data without ECC to NAND-FLASH is not recommended
>>>>>    Writing data without ECC to NAND-FLASH is not recommended
>>>>>    Reading data from NAND FLASH without ECC is not recommended
>>>>> Is there really no ECC running now? I thought that config-option 
>>>>> for MTD did the job?
>>>>
>>>> You should only do this if yaffs is doing the ECC instead.
>>>
>>> So, this is how I have the configuration in order to get it to work:
>>>
>>> YAFFS_USE_NANDECC=n
>>> CONFIG_MTD_NAND_VERIFY_WRITE=y
>>>
>>> My questions now are then:
>>> 1) Is there any ECC enabled now?
>>
>>
>>
>> I think it's not:
>>   - yaffs' ECC is disabled (YAFFS_USE_NANDECC=n)
>>   - from my understanding, the MTD ECC depend of your MTD NAND chip 
>> (the field eccmode of nand_chip,
>>     this value is set to NAND_ECC_NONE, NAND_ECC_SOFT, 
>> NAND_ECC_HW6_512, ...)
>>     You can only receive the message "Writing data without ECC to 
>> NAND-FLASH is not recommended"
>>     if eccmode is set to NAND_ECC_NONE.
>>
>> What type of nand chip you use?
> 
> Samsung K9F5608U0C - 32Mx8...
> 
>> Have tried the options  CONFIG_MTD_NAND_VERIFY_WRITE=y && 
>> YAFFS_USE_NANDECC=y ?
> 
> Yes... I started with;
> CONFIG_USE_NANDECC=y
> CONFIG_MTD_NAND_VERIFY_WRITE=n
> 
> that didn't work... Then I tried [y,y] - that didn't work either. And 
> finally, I ended up with [n,y] - and got alot of whinging! :-)
> 
> // Martin




More information about the yaffs mailing list