[U-Boot] erase and saveenv stop working after using fw_setenv

Message: 1 Date: Tue, 16 Sep 2008 10:46:26 +0300 From: Petri Lehtinen petri.lehtinen@inoi.fi Subject: [U-Boot] erase and saveenv stop working after using fw_setenv To: u-boot@lists.denx.de Message-ID: 48CF6452.40603@inoi.fi Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Hi!
I'm using U-Boot 1.3.4 and Linux 2.6.26.5 on MPC8323E-RDB. After using fw_printenv in Linux, erase and saveenv stop working in U-Boot. In Linux, fw_* still work.
When using erase, this is the result:
=> protect off fe040000 fe05ffff Un-Protected 1 sectors => erase fe040000 fe05ffff
Flash erase error at address fe040000 Block Erase Error. Block locked. done Erased 1 sectors => md fe040000 fe040000: c7be9eae 626f6f74 636d643d 73657465 ....bootcmd=sete fe040010: 6e762062 6f6f7461 72677320 726f6f74 nv bootargs root ...
So the sector doesn't get erased.
Errors are similar when using saveenv:
=> saveenv Saving Environment to Flash... Un-Protected 1 sectors Erasing Flash... Flash erase error at address fe040000 Block Erase Error. Block locked. done Erased 1 sectors
I tracked the error message down to cfi_flash.c, where this function call fails:
flash_isequal (info, sector, 0, FLASH_STATUS_DONE)
However, I have no clue on how CFI works, so my ability to debug it further stops here. A possible reason I can think of is that the ioctl calls in fw_setenv are somehow messing up the Flash status.
Any ideas?
-- Petri Lehtinen Inoi Oy Tel. : +358 40 758 0229 Email: petri.lehtinen@inoi.fi
Hi
I think it is the problem of hardware locking, try enabling CFG_FLASH_PROTECTION .
participants (1)
-
yusuf khan