ILD

坏块导致5G校准数据写入失败问题分析
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2023-8-15 站点:Inside Linux Development

工厂出现1PCS机器,5G mac地址和校准数据写入失败。5G校准数据写入到ART分区的第二个块。2.4G是正常的。


正常情况:

1
2
3
4
5
# getmac wl0
4c:c6:4c:61:41:e8
 
# hexdump -C -n 16 -s $((0x26800+14)) /dev/mtd13
0002680e  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/mtd13
ECC corrections: 0
ECC failures   : 0
Bad blocks     : 1
BBT blocks     : 0
Bad block at 0x00020000 4)...
000e0000: checking...of 4)...
Finished pass 1 successfully


由于ART分区,使用dd /dev/mtd13的方式进行读写,是不支持跳过坏块的。出现坏块后,校准数据无法写入。可更换flash解决。


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.