Re: [Yaffs] Got working mkyaffs2image for HW ECC (for nand_o…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Boaz Ben-David
Date:  
To: simaskonfa@gmail.com
CC: yaffs@lists.aleph1.co.uk
Subject: Re: [Yaffs] Got working mkyaffs2image for HW ECC (for nand_oob_64)
I'm in a similiar situation.
I have a 4k page 218 byte oob flash, with HW ECC. This means I have a
special oob ordering (dictated by the mtd driver usage of the oob).
I patched mkyaffs2image function shuffle_oob to write the tags in the
right places, and after writing the images to NAND using nandwrite I
still get unrecoverable ECC errors and some files are missing.
I've tried with various nandwrite flag options with no success.
Is it possible to use oob+mkyaffs2image and nandwrite?

Thanks,

Boaz.



On Wed, 2011-02-02 at 16:38 +0000, Simonas Leleiva wrote:
> Dear all,
>
> I ran into this strict use-case: needed to have yaffs2 working with HW
> ECC enabled on target with nand_oob_64 layout, AND have a working
> mkyaffs2image with it.
>
> It all works for me now; if you are anywhere near this case, you might
> benefit from:
>
> To have yaffs2 working under HW ECC, create (with nand erase) and
> mount your yaffs2 partition with inband-tags option:
>
> mount -t yaffs2 /dev/mtdblockX /mnt/point -o inband-tags (I add
> tags-ecc-off to ignore broken endianess, read below)
>
> NEVER mount it without that option, or it will simply scrub all data off!..
>
> To have a compatible mkyaffs2image, do the following:
>
> * Checkout the inband-tags-ready version (2008-05-05):
> git clone git://www.aleph1.co.uk/yaffs2
> git co e8cfe05cf0d057f6978c37943e51b17bb14664e3
>
> * Apply attached mkyaffs2image-nand_oob_64_option.patch to have the
> nand_oob_64 option
> * Apply mkyaffs2image-inband-tags-for_nand_oob_64_option.patch
> * Execute: `mkyaffs2image 1 dir image.file.yaffs`, with 1 for nand_oob_64
> * To flash that image, use nand write.i on u-boot, or nand_write -ap
> in user-space
> * Ignore the broken endianess by mounting the image with:
> mount -t yaffs2 /dev/mtdblockX /mnt/point -o inband-tags,tags-ecc-off
>
> Any suggestions, test outcomes welcome!
>
> * Original nand_oob_64_option patch was referenced from Andre:
> http://www.aleph1.co.uk/lurker/message/20070920.222505.f140fc02.en.html
> which was in turn referenced from KSI:
> http://www.aleph1.co.uk/lurker/message/20060211.004601.77b55bf3.en.html
>
> * inband-tags patch has been adapted to code changes. Ref.:
> http://www.aleph1.co.uk/lurker/message/20101125.040955.69eec0a2.en.html
>
> -- 
> Simonas