I am working on an OpenWRT system for a custom board with a Flash Memory Chip. One problem is that U-Boot only works if the Flash Memory is in 3 Byte Addressing Mode while Linux needs 4 byte Addressing Mode. This switch is done in U-Boot and everything works.

The problems start when i want to reboot the board. For this i am changing the addressing mode of the Flash Memory from Linux back to 3 byte(U-Boot needs it) but then the whole system is unresponsive and what's worst is that after I power cycle the device, the entire Flash Memory is erased (0xFF everywhere). My system is using OpenWRTs SQUASHFS and JFFS2 and i see lots of messages like this:

[ 1204.490000] SQUASHFS error: Unable to read page, block 2e6c4a, size a57c
[ 1204.490000] SQUASHFS error: Unable to read fragment cache entry [2e6c4a]

Now i am trying to track down when is the whole memory erased but no luck so far. Does anyone have some idea about when this happens? is it a normal behaviour if the whole memory is "corrupted"(wrong addressing mode in my case) the whole chip gets erased? Is there anything i can do in order to stop this?

Your Answer

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

Browse other questions tagged or ask your own question.