peteru wrote: ↑Tue Jul 02, 2019 20:00
If there is a reproducible test case, I'm happy to investigate further, but for random, once a year errors, there's not much that can be done.
In my case it appears to happen around once a year and is easily worked around (reflash), so I am not concerned at this stage.
prl wrote: ↑Tue Jul 02, 2019 22:31
What hasn't been reproduced (yet) are serial logs of the firmware load and reboot to see whether common blocks in the flash device are involved.
Funny you should say that. Each reflash that I still have logs for show the same two erase failures each time prior to flashing the rootfs:
Code: Select all
*** USB 2.0 Flash Disk (1047 MB, lbs=512) ***
*** beyonwiz/hdp/rootfs.bin: File found
Looking for usbdisk0:beyonwiz/hdp/rootfs.bmp
Found 720x576 splash image
Reading usbdisk0:beyonwiz/hdp/rootfs.bin: ....................................................................................................................................................... 157286400 bytes read
Done. 157286400 bytes read
offset: 00000000 size: 7F900000
Force erasing...
Erasing flash...Erase address 0x5a00000 failed, bad block?
Erase address 0x5b00000 failed, bad block?
Programming...
>>>[ui_flash] Writing data (nandflash0.rootfs) from source (beyonwiz/hdp/rootfs.bin)
done. 157286400 bytes written
Looking back, my earliest post on this was back in Ot. 2016:
T4 failed to boot today, needed reflashing - this is something that is easily reproducible here.
I've attached the serial log of my most recent flash, done after my most recent bit flip episode in May. 2 of your 4 bad blocks are at 0x5a00000 and 0x5b00000, same as mine, and there are 4096 blocks in these devices, interesting.
The device's datasheet indicates each block consists of 256 pages. Each page consists of 4096 bytes of data plus 224 "spare" bytes for remapping purposes. I can only assume that these erase failure messages can be treated as warnings, that at least one of the spare bytes are in use in at least one corrupted page in each block, and all is good. For now.