[flashrom] FAILED: W25Q64.V bios flash on a ThinkPad

Charlotte Plusplus pluspluscharlotte at gmail.com
Sun Nov 6 03:02:37 CET 2016


In case someone else has the same problem, I found a solution.

It is weird but works reliably for me: the pins must not be connected
one by one to the J100 header, but all at once.

If you use floating wires, use duct tape to shape them into a plug.
Insert it swiftly. Then it works fine 100% of the time.

I got the idea after reading about timing issues on:
http://dangerousprototypes.com/forum/viewtopic.php?f=40&t=4157
https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=123825

I have no idea why it works, but it works.

On 11/4/16, Charlotte Plusplus <pluspluscharlotte at gmail.com> wrote:
> Hello
>
> I am trying to flash a W25Q64.V in a Thinkpad W520 using a Raspberry Pi
> To make it easier, I soldered an ISP connector on the motherboard J100
> connector (https://www.coreboot.org/Board:lenovo/t520#Flashing) to
> make sure I would have a good electrical connection.
> WP and HOLD were left floating, and I used the 3.3V from the Raspberry Pi
> pin 1.
> The electrical connection was good: I could read the flash. I did it 4
> times to make sure the MD5 matched. They did. The strings inside the
> flash matched the bios version, and ifdtool did recognize the image.
>
> When I tried to flash however, something weird happened:
>
> flashrom -w coreboot.pre apt-ge-p linux_spi:dev=/dev/spidev0.0
> Calibrating delay loop... delay loop is unreliable, trying to continue OK.
> Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi.
> Reading old flash chip contents... done.
> Erasing and writing flash chip... Erase/write done.
> Verifying flash... FAILED at 0x007bbe00! Expected=0x24, Found=0x98,
> failed byte count from 0x00000000-0x007fffff: 0x8e4
> Your flash chip is in an unknown state.
> Please report this on IRC at chat.freenode.net (channel #flashrom) or
> mail flashrom at flashrom.org, thanks!
>
> Ever since, I can't access the chip. The laptop can't boot. The
> original image can't be restored.
>
> Whenever I try to read the flash using the exact same command line as
> before, I get:
>
> flashrom -r w520-bios-backup.bin -V -p linux_spi:dev=/dev/spidev0.0
> (...)
> Probing for Winbond W25Q64.W, 8192 kB: RDID byte 0 parity violation.
> probe_spi_rdid_generic: id1 0x00, id2 0x00
> (...)
> Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI).
>
> Funny enough, if I don't connect any cable to the raspberry, I get the
> exact same error message.
>
> I tried various configuration: with the raspberry pi power, with WP
> and HOLD set to high, with external power and WP and HOLD set to high
> - nothing works.
> I checked the W25Q64 specsheet
> (ttps://cdn.sparkfun.com/datasheets/Dev/Teensy/w25q64fv.pdf), the
> system board schematics
> (http://kythuatphancung.vn/uploads/download/5165b_Wistron_Kendo-3_WS_-_10222-SA_-_ThinkPad_W520.pdf)
> but I just don't understand what is happening.
>
> Any suggestion?? I have flashed with this raspberry before, and it
> never when bad to the point that I could no longer even read the chip.
>
> I am afraid something really wrong happened. Any help is appreciated.
>



More information about the flashrom mailing list