From: Grant Erickson Date: Sun, 06 Feb 2011 12:41:02 -0800 Subject: [U-Boot] U-Boot 2010.12 Cannot Successfully Save Variables with Redundant NAND Environment Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de I recently updated my TI AM37x EVM from U-Boot 2010.09 to 2010.12 and noticed that, in doing so, saveenv / env save no longer seems to work. The following example demonstrates: => version U-Boot 2010.12 (Feb 04 2011 - 16:12:51) => env print foo ## Error: "foo" not defined => env set foo bar => env save Saving Environment to NAND... Erasing redundant NAND... Erasing at 0x3a0000 -- 100% complete. Writing to redundant NAND... done => env print foo foo=bar => reset resetting ... ... Hit any key to stop autoboot: 0 => env print foo ## Error: "foo" not defined However, I can successfully read and write NAND, for example, updating u-boot. Anyone else noticed this on OMAP-based boards? With NAND? With NOR? Running a few more experiments, I find that I can entirely whack the environment, set a variable once thereafter, but never again: => printenv resetenv resetenv=nand erase 0x340000 0x1000 && nand erase 0x3a0000 0x1000 => run resetenv NAND erase: device 0 offset 0x340000, size 0x1000 Erasing at 0x340000 -- 100% complete. OK NAND erase: device 0 offset 0x3a0000, size 0x1000 Erasing at 0x3a0000 -- 100% complete. OK => reset resetting ... ... *** Warning - bad CRC, using default environment ... Hit any key to stop autoboot: 0 => saveenv Saving Environment to NAND... Erasing redundant NAND... Erasing at 0x3a0000 -- 100% complete. Writing to redundant NAND... done => setenv foo bar => printenv foo foo=bar => saveenv Saving Environment to NAND... Erasing NAND... Erasing at 0x340000 -- 100% complete. Writing to NAND... done => printenv foo foo=bar => reset resetting ... ... Hit any key to stop autoboot: 0 => printenv foo foo=bar => env delete foo Not implemented yet => setenv foo => printenv foo ## Error: "foo" not defined => saveenv Saving Environment to NAND... Erasing redundant NAND... Erasing at 0x3a0000 -- 100% complete. Writing to redundant NAND... done => printenv foo ## Error: "foo" not defined => reset resetting ... ... Hit any key to stop autoboot: 0 => printenv foo foo=bar -- Principal Nuovations 998 Alpine Terrace Suite 3 Sunnyvale, CA 94086-2469 US T +1-408-749-0495 F +1-205-449-0495 M +1-408-489-5710 gerickson at nuovations.com http://www.nuovations.com/ Best, Grant