Hi there,
After having issues with JFFS2 and Hamming HW ECC on the DM8148 and our NAND, I switched to BCH8 + UBIFS, per the solution in this thread.
I got the BCH8 + UBIFS running, but I'm still seeing ECC errors, such as the following.
UBI error: ubi_io_read: error -74 (ECC error) while reading 129024 bytes from PEB 449:2048, read 129024 bytes
UBI error: ubi_io_read: error -74 (ECC error) while reading 131072 bytes from PEB 1813:0, read 131072 bytes
UBI error: torture_peb: read problems on freshly erased PEB 1813, must be bad
UBI error: erase_worker: failed to erase PEB 1813, error -5
UBI: mark PEB 1813 as bad
UBI: 17 PEBs left in the reserve
After a number of reboots, all PEBs reserved for bad blocks are used, and the filesytems goes into a read-only mode. (We'll need it to be RW in our application.)
The procedure I followed was:
Start with EZSDK 5.05.02.00
Fetch master from linux-omap3.git so I have all the lastest NAND/ECC related patches. (At the time of this post, [master] and [ti81xx-master] are @ 5efb81ac9e9b0c72a8e4edf159b7b5e06980ee56. I added my defconfig and updated the EZSDK make rules to point to this kernel, and did a clean build.
Take my existing rootfs and create my ubi image. Here are my notes on this, which shows the parameter used. It appears that our device supports 512-byte subppages. (Please visit the site to view this file)
[Update - The PEB --> LEB conversion in my attached notes is wrong: It should be 128 KiB / 126 KiB]Flash the ubi image and boot the system as shown in the attached log.In this log you'll see the ECC errors and PEBs being marked bad at each reboot. (Please visit the site to view this file)
[Update - Please see the log from the next post instead; it is more up-to-date]
In the meantime, I'm going to try switching to SW ECC to rule out any HW ECC issues. I'll post back with those results as soon as I can.
Has anyone else resolved this issue? I've seen a number of similar threads without clear solutions. However, I'm not sure if they ended up using the latest in linux-omap3.git. If anyone could provide some advice on isolating and addressing this issue, it would be greatly appreciated.
Thank you!
Jon