I'm trying to mount 1[MB] of flash as JFFS2 FS in openwrt environment, using 128[MB] NAND flash (4 bit ECC).

I'm using the following sequence -

flash_eraseall -j dev/mtd6

mount -t jffs2 -o noatime /dev/mtdblock6 /NAME_OF_MOUNT

After running this sequence, it seems mounting completed and I can access, read and write

to the mounted area.

The problem begins when I reboot the system, during the boot following message appears:

jffs2: mtd->read(0x800 bytes from 0x60000) returned ECC error
jffs2: notice: (667) read_dnode: wrong data CRC in data node at 0x00060000: read 0xf7a2ee2c, calculated 0x2f2a8b04

I have also tried to create nvm.jffs2 file using mkfs.jffs2 and burn it to requested partition - but the issue still occured.

I will appreciate any ideas or thoughts.

Thank you all in advanced!


The issue was caused due to clearmarker.

During mounting clearmarker was set at the begining of the block.

However, when writting to block, the oob data was added at the end of the block

and so didn't include the clearmarker and therefor resulted with wrong CRC data report.

A quick WA is to write clearmarker to each flash block once during boot, and then clearmarker

will be added to it and all will work fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.