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@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@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-...) 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.