
Reading EEPROM contents was not a problem, But when erasing such error occurs. flashprog p1.3-3-g8a27db9 on Linux 6.1.0-31-amd64 (x86_64) flashprog is free software, get the source code at https://flashprog.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). serprog: Programmer name is "pico-serprog" Found Winbond flash chip "W25Q80.V" (1024 kB, SPI) on serprog. Erasing flash chip... FAILED at 0x00002005! Expected=0xff, Found=0xdd, failed byte count from 0x00000000-0x000fffff: 0x4b9 ERASE FAILED! FAILED! Your flash chip is in an unknown state. Please report this to the mailing list at flashprog@flashprog.org or on IRC (see https://www.flashprog.org/Contact for details), thanks! Any ideas?

Hello Osark, I assume your flash chip is still on the mainboard and you have a clip or something attached to it? Unless a board is designed for this, YMMV from board to board and programmer to programmer. On 11.03.25 02:51, Osark Vieira wrote:
Reading EEPROM contents was not a problem,
This can be deceiving as there are no integrity checks on the transferred data. Did you try to verify the read? e.g. `-v` instead of `-r` or read twice and compare. In case reading turns out to be unreliable, you could try again with shorter wires (we recommend <20cm from programmer to chip), or a slower `spispeed` setting.
But when erasing such error occurs. [...] Erasing flash chip... FAILED at 0x00002005! Expected=0xff, Found=0xdd, failed byte count from 0x00000000-0x000fffff: 0x4b9
Chances are high that this is actually a read failure. The byte count shows that only about 1KiB out of 1MiB failed. Erase usually either works completely or not at all. You could also try to verify this again and see if the byte count changes, e.g. create a file with all ff that looks erased, and verify against that: $ dd if=/dev/zero bs=1M count=1 | tr '\000' '\377' >erased.rom $ flashprog -p ... -v erased.rom If the byte count changes, the chip is most likely erased, but reading fails. You could try to trick flashprog into writing in this case, but verifying the write would fail again and we wouldn't know if it succeeded: $ flashprog -p ... --flash-contents erased.rom -w ... Hope this is of any help, Nico

Hi! Recently tried flashing my Thunderbolt T480 chip and got this error:
sudo ./flashprog -p serprog:dev=/dev/ttyACM0,spispeed=32768 -E flashprog p1.4-2-g8d52575 on Linux 6.15.7-arch1-1 (x86_64) flashprog is free software, get the source code at https://flashprog.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). serprog: Programmer name is "pico-serprog" Found Macronix flash chip "MX25L8005/MX25L8006E/MX25L8008E/MX25V8005" (1024 kB, SPI) on serprog. Erasing flash chip... FAILED at 0x0000200b! Expected=0xff, Found=0x7f, failed byte count from 0x00000000-0x000fffff: 0x225 ERASE FAILED! FAILED! Your flash chip is in an unknown state. Please report this to the mailing list at flashprog@flashprog.org or on IRC (see https://www.flashprog.org/Contact for details), thanks! When I did two reads and checked the sums with 1M speed, I got these equal hashes:
sha512sum ~/Projects/libreboot-t480/t480tb*.bin 4026210a96ea50b85458e54e405e81f972210db4c7882be6c3fad3f750657d76602c4c63d3e0e525923784c1e74059a687cd62e649b7f299367ebf19f4597065 /home/user/Projects/libreboot-t480/t480tb1.bin 4026210a96ea50b85458e54e405e81f972210db4c7882be6c3fad3f750657d76602c4c63d3e0e525923784c1e74059a687cd62e649b7f299367ebf19f4597065 /home/user/Projects/libreboot-t480/t480tb2.bin
My wires are a bit longer (a bit longer than 30 cm) but I've lowered the speed significantly to compensate for this. What could I be missing?
participants (3)
-
Nico Huber
-
Osark Vieira
-
Zijad Lendo