Unlocked flash is re-locked by unknow
Hi,
We have this custom arm based board were we ran Linux 2.4 for 3 years, now we are moving to 2.6 and has problems with our NOR Flash.
After boot the flash is locked which is normal for this chip. Then we run flash_unlock and mounts the jffs2 fs. At this point we can create /remove files.
But after a some time (or some actions) we get write errors. If we re-run flash_unlock, everything works fine again for some time (or some actions), then it locks again....
We have tried to figure out which action lock's the device without success...
We have tried kernel 2.6.16.5 and 2.6.17-rc4 with and without mtd patch (stable and git).
The flash is: AT49BV320 (4MByte, NOR, almost-CFI-compliant) It is auto discovered by cfi.
The chip claims to be original Intel flash, but it has another mapping of its capabilities bits (which is soo nice). We have made an ugly fix to this issue by changing the bitmap which is read from the device. Removing this code has no effect on the described problem, just thought you should now :-)
This is not a HW problem since booting 2.4 makes it work again.
Please provide any hint, a simple link to will be fine.
Thanks in advance.
Signature · 6 lines
med venlig hilsen / best regards / Mit freundlichen Grüßen Henrik Bork Steffensen RoseTechnology A/S http://www.rosetechnology.dk
Quoted 11 lines · Henrik Bork Steffensen
Hi,
We have this custom arm based board were we ran Linux 2.4 for 3 years, now we are moving to 2.6 and has problems with our NOR Flash.After boot the flash is locked which is normal for this chip. Then we run
flash_unlockand mounts the jffs2 fs. At this point we can create /remove files.
But after a some time (or some actions) we get write errors. If we re-runflash_unlock, everything works fine again for some time (or some actions), then it locks again....
Quoted 2 lines
We have tried to figure out which action lock's the device without success...
A spike on the flash power maybe?
Quoted 1 line
This is not a HW problem since booting 2.4 makes it work again.
Note that some newer flash parts have a pin that "force-locks" the flash when asserted. Maybe you have one of those and the pin is floating? And to sum it all the 2.6 kernel somehow has a different EMI picture than the 2.4 and it causes the flash to lock itself that way?
Or maybe just modifying the kernel version number from 2.6 to 2.4 in the source and recompiling will fix it? ;-)
Quoted 1 line
Please provide any hint, a simple link to will be fine.
Are you sure your 2.4.x code is not automatically unlocking the flash by any chance which might just be masking the problem?
Nicolas
Quoted 3 lines · Nicolas Pitre
A spike on the flash power maybe?
Yes, that's it!
The 2.6 seems to generate 20-40% larger spikes on Vcc than the old 2.4.19-rmk7, which runs 30 Bogomips were the 2.6 runs at 90 Bogomips. (i have no idea of this is just the bogomips loop which runs faster or the cpu actually runs faster)
Thanks you very much - we obviously needed fresh eyes on the subject.
Signature · 6 lines
med venlig hilsen / best regards / Mit freundlichen Grüßen Henrik Bork Steffensen RoseTechnology A/S http://www.rosetechnology.dk