Hi,
I am attempting to write a Libreboot ROM to my BIOS chip. The chip reports as follows:
sudo flashrom -p linux_spi:dev=/dev/spidev0.0
'Found Winbond flash chip "W25Q16.V" (2048 kB, SPI) on linux_spi.'
All of the online guides show reading the chip before attempting to flash, and confirming that the checksums match. However, when reading the contents of the flash chip, the checksums vary wildly. When attempting to flash the chip with a Libreboot ROM for the board, the erase function fails on all attempts as follows:
sudo flashrom --programmer linux_spi:dev=/dev/spidev0.0 --write kgpe-d16_ukqwerty_txtmode.rom flashrom p1.0-141-g9cecc7e on Linux 4.14.79+ (armv6l) flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Using default 2000kHz clock. Use 'spispeed' parameter to override. Found Winbond flash chip "W25Q16.V" (2048 kB, SPI) on linux_spi. Reading old flash chip contents... done. Erasing and writing flash chip... FAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x00000fff: 0x1000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x000007fd! Expected=0xff, Found=0xfe, failed byte count from 0x00000000-0x00007fff: 0x6218 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x000001bb! Expected=0xff, Found=0xfc, failed byte count from 0x00000000-0x0000ffff: 0xbde4 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x001fffff: 0x18a7c0 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000111! Expected=0xff, Found=0xc0, failed byte count from 0x00000000-0x001fffff: 0x18af13 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Looking for another erase function. Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything has changed. Reading current flash chip contents... done. Apparently at least some data has changed. Your flash chip is in an unknown state. Please report this on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org, thanks!
I am trying to determine whether I am doing something incorrectly, or whether the chip is unserviceable and needs to be replaced.
Any help/hints would be greatly appreciated!
Best Regards,
Joshua Aspinall.
Hi,
Most likely your chip flashed fine. You should try your board out, and do a internal write for your peace of mind, once you boot your system.
It might be a problem with your connections (make sure your pins are not dusty, greasy - clean them with alcohol, use good dupont cables, etc), or maybe you don't have enough enough power for the chip. You can also try lowering the SPI speed, that helps sometimes.
In my experience, CH341A had a very good rate of success with these chips.
The chip breaking is almost never the cause - I got one connected backwards for about 1 minute and it got too hot to touch - guess what - it worked just fine.
Dima.
On 12/29/2018 12:22 AM, Joshua Aspinall wrote:
Hi,
I am attempting to write a Libreboot ROM to my BIOS chip. The chip reports as follows:
sudo flashrom -p linux_spi:dev=/dev/spidev0.0
'Found Winbond flash chip "W25Q16.V" (2048 kB, SPI) on linux_spi.'
All of the online guides show reading the chip before attempting to flash, and confirming that the checksums match. However, when reading the contents of the flash chip, the checksums vary wildly. When attempting to flash the chip with a Libreboot ROM for the board, the erase function fails on all attempts as follows:
sudo flashrom --programmer linux_spi:dev=/dev/spidev0.0 --write kgpe-d16_ukqwerty_txtmode.rom flashrom p1.0-141-g9cecc7e on Linux 4.14.79+ (armv6l) flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). Using default 2000kHz clock. Use 'spispeed' parameter to override. Found Winbond flash chip "W25Q16.V" (2048 kB, SPI) on linux_spi. Reading old flash chip contents... done. Erasing and writing flash chip... FAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x00000fff: 0x1000 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x000007fd! Expected=0xff, Found=0xfe, failed byte count from 0x00000000-0x00007fff: 0x6218 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x000001bb! Expected=0xff, Found=0xfc, failed byte count from 0x00000000-0x0000ffff: 0xbde4 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x001fffff: 0x18a7c0 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. FAILED at 0x00000111! Expected=0xff, Found=0xc0, failed byte count from 0x00000000-0x001fffff: 0x18af13 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Looking for another erase function. Looking for another erase function. No usable erase functions left. FAILED! Uh oh. Erase/write failed. Checking if anything has changed. Reading current flash chip contents... done. Apparently at least some data has changed. Your flash chip is in an unknown state. Please report this on IRC at chat.freenode.net (channel #flashrom) or mail flashrom@flashrom.org, thanks!
I am trying to determine whether I am doing something incorrectly, or whether the chip is unserviceable and needs to be replaced.
Any help/hints would be greatly appreciated!
Best Regards,
Joshua Aspinall.
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org