Hello, 

I want to recover some parameters from my NAND flash by using saveenv and loadenv but It does not work:

First I have used a big env0 partition to be sure bad blocks don't bother me.

devfs_add_partition("nand0", 0x00000, 0xF0000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");

Then I try to edit,save & load /env/config

wrs-02:0B:AD:C0:FF:EE# edit /env/config

Then I change the eth0.addr

eth0.ethaddr=72:0B:AD:C0:FF:EE
PS1="wrs-$eth0.ethaddr# "

Ctrl+D

wrs-02:0B:AD:C0:FF:EE# . /env/config 
wrs-72:0B:AD:C0:FF:EE# saveenv 
saving environment
wrs-72:0B:AD:C0:FF:EE# loadenv 
loading environment from /dev/env0
err -74
err -74
wrong crc on env

And if I reboot barebox I still load the default environment

NAND device: Manufacturer ID: 0x2c, Chip ID: 0xbc (Micron NAND 512MiB 1,8V 16-b)
Scanning device for bad blocks                                                  
Bad eraseblock 0 at 0x00000000      
err -74                                                                         
envfs: wrong magic on /dev/env0                                                 
no valid environment found on /dev/env0. Using default environment              
running /env/bin/init...  

Moreover, I have noticed that each time I use saveenv command it add another bad block, and that sometime It does read something in /dev/env0 but without anything in /env

NAND device: Manufacturer ID: 0x2c, Chip ID: 0xbc (Micron NAND 512MiB 1,8V 16-b)
Scanning device for bad blocks                                                  
Bad eraseblock 0 at 0x00000000                                                  
Bad eraseblock 1 at 0x00020000                                                  
Bad eraseblock 2 at 0x00040000 
Bad eraseblock 665 at 0x05320000                                                
Bad eraseblock 1553 at 0x0c220000                                               
Bad eraseblock 1712 at 0x0d600000                                               
Bad eraseblock 1997 at 0x0f9a0000                                               
Bad eraseblock 2182 at 0x110c0000                                           
Malloc space: 0x73b00000 -> 0x73efffff (size  4 MB)                             
Stack space : 0x73af8000 -> 0x73b00000 (size 32 kB)                             
read: No error                                                                  
running /env/bin/init...  

Someone know what I am doing wrong? 
                                     
--
 

Benoit RAT LAMY

Engineer (Sw) \ Ingeniero (Sw)

fix. (+34) 958 285 024

cel. (+34) 617 989 123

e-mail: benoit@sevensols.com

www.sevensols.com / www.sevensecurity.es

_________________________________

C/ Baza, parcela 19 Nave 3  \ Polígono Ind. Juncaril \

18210 - PELIGROS - GRANADA –SPAIN