工厂出现1PCS机器,5G mac地址和校准数据写入失败。5G校准数据写入到ART分区的第二个块。2.4G是正常的。
正常情况:
1 2 3 4 5  | # getmac wl04c:c6:4c:61:41:e8# hexdump -C -n 16 -s $((0x26800+14)) /dev/mtd130002680e  4c c6 4c 61 41 e8 00 03  7f 12 34 57 00 03 7f 12  |L.LaA.....4W.... | 
setmac之后,再读,数据全是FF。怀疑是坏块导致,使用nandtest测试发现,第二个块是坏块。
1 2 3 4 5 6 7 8  | # nandtest /dev/mtd13ECC corrections: 0ECC failures   : 0Bad blocks     : 1BBT blocks     : 0Bad block at 0x00020000 4)...000e0000: checking...of 4)...Finished pass 1 successfully | 
由于ART分区,使用dd /dev/mtd13的方式进行读写,是不支持跳过坏块的。出现坏块后,校准数据无法写入。可更换flash解决。