Hi,

  I recently bought two VMAC V1 Mini PC's with Winbond W25Q64FWSIG EFI chips. 
Updating the EFI information on teh devices using the normal software route is 
extremely flakey and I managed to corrupt the EFI on both boards, making them 
unbootable.

I now have a Chinese CH341a ("Black Edition") usb programmer and a "piggy-back" 
1.8v adapter and can connect to the Winbond chip using a test clip.

I installed flashrom from the debian package V0.99 and can do a:



Initially, I thought I had problems getting the clip properly seated, but no 
matter how much I clean the contacts and re-seat the clip, if I do a:
 #flashrom -p ch341a_spi -V

I get (randomly):
Found Winbond flash chip "unknown Winbond (ex Nexcom) SPI chip" (0 kB, SPI) on 
ch341a_spi.
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on ch341a_spi.
Found Winbond flash chip "W25Q64.W" (8192 kB, SPI) on ch341a_spi.

Finding the correct chip or not seems to have little or nothing to do with the 
physical contact to the chip.
If I then try to erase the chip. I get:

  # flashrom -p ch341a_spi -c W25Q64.W -E
flashrom v0.9.9-r1954 on Linux 4.10.1-towo.1-siduction-amd64 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64.W" (8192 kB, SPI) on ch341a_spi.
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 0x00000000! Expected=0xff, Found=0x00, failed byte count from 
0x00000000-0x00007fff: 0x53cb
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
FAILED at 0x00000000! Expected=0xff, Found=0xd6, failed byte count from 
0x00000000-0x0000ffff: 0x9264
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-0x007fffff: 0x5e1391
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-0x007fffff: 0x5ce187
ERASE FAILED!
Looking for another erase function.
No usable erase functions left.
FAILED!
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail [email protected], thanks!


Again, the hex codes for the failures seem pretty random and are different each 
time I try the command.

I attach the log.

  Can anyone say what's going on?

 Best Regards

Marius
flashrom v0.9.9-r1954 on Linux 4.10.1-towo.1-siduction-amd64 (x86_64)
flashrom was built with libpci 3.5.2, GCC 6.3.0 20170221, little endian
Command line (8 args): flashrom -p ch341a_spi -c W25Q64.W -E -V -o flashrom.log
Calibrating delay loop... OS timer resolution is 1 usecs, 3173M loops per second, 10 myus = 11 us, 100 myus = 120 us, 1000 myus = 1018 us, 10000 myus = 10081 us, 4 myus = 12 us, OK.
Initializing ch341a_spi programmer
Device revision is 3.0.4
The following protocols are supported: SPI.
Probing for Winbond W25Q64.W, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2 0x6017
Found Winbond flash chip "W25Q64.W" (8192 kB, SPI) on ch341a_spi.
Chip status register is 0x00.
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
Block protection is disabled.
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:EFAILED 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.
Trying erase function 1... 0x000000-0x007fff:EFAILED at 0x00000000! Expected=0xff, Found=0xbf, failed byte count from 0x00000000-0x00007fff: 0x4b2e
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
Trying erase function 2... 0x000000-0x00ffff:EFAILED at 0x00000000! Expected=0xff, Found=0xbf, failed byte count from 0x00000000-0x0000ffff: 0x958b
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
Trying erase function 3... 0x000000-0x7fffff:EFAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x007fffff: 0x5add1e
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase function.
Trying erase function 4... 0x000000-0x7fffff:EFAILED at 0x00000000! Expected=0xff, Found=0x00, failed byte count from 0x00000000-0x007fffff: 0x4ea4da
ERASE FAILED!
Looking for another erase function.
No usable erase functions left.
FAILED!
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail [email protected], thanks!
_______________________________________________
flashrom mailing list
[email protected]
https://mail.coreboot.org/mailman/listinfo/flashrom

Reply via email to