[U-Boot-Users] problems with CRC in fw_printenv and fw_setenv utility and use
Markus Klotzbücher
mk at denx.de
Mon Jan 14 09:00:24 CET 2008
u-boot user <aparna_badve at yahoo.com> writes:
> I have built the binary fw_printenv by using mtd-user.h from mtd-utils on
> the internet as it fw_printenv won't compile it without using that
> file. So
So you're obviously not using the newest version of U-Boot, what you
should. Make sure to read the updated README in tools/env/.
> I have used mtd-user.h and mtd-abi.h. The contents of my configuration file
> are
> # MTD device name Device offset Env. size Flash sector size
> /dev/mtd1 0x0000 0x4000 0x4000
Is this in /etc/ ?
> When I run fw_printenv it complained with error Warning : Bad CRC using
> default environment in env_init function in fw_env.c source code. To gain a
> better understanding I print the value crc1 calculated using
> crc32(0,environment.data,ENV_SIZE). The value it prints is CRC
> computed:FE641197
> If I print the environment.crc value it is D0CA8A0E. As the checksum values
> are different crc1_ok is not set and I get the error. Any clue as to why
> these values would be different?
Probably some mismatch between the information in your config file and
the real environment. Where is you're environment located in flash? Is
your mtd partitioning right? What does
$ cat /proc/mtd
show?
> When I use the fw_setenv utility to set an environment variable it gives the
> following errors
> Writing CRC value to flash: D0C78567
> Unlocking flash...
> Other dev values are: 0
> Current dev value: 0
> Done
> Erasing old environment...
> MTD erase error on /dev/mtd1: Invalid argument
> Error: can't write fw_env to flash
Weird. I would guess your MTD partitioning is wrong.
Best regards
Markus Klotzbuecher
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
More information about the U-Boot
mailing list