[flashrom] flashrom not "seeing" W25Q128FV

Yaron Shragai yshragai.firmware at gmail.com
Fri Nov 24 15:56:40 CET 2017

Thank you Ivan.

As I mentioned, I did try with/without the board plugged in, and
with/without the VCC pin connected to the programmer.  (I also tried, on an
identical board that still has a booting BIOS, powering it on to a point
that likely has no BMC traffic.)

One thing that we have determined, using a scope, is that the VCC pin does
likely get appropriate voltage, but the signals on the MOSI pin are not at
a high enough voltage: The voltage at the MOSI pin, when signals are being
sent, is about 1/2 VCC.  This explains why it almost always isn't
successful at finding the chip, but every once in a while, on a rare
occasion, it is.
So now the question is, why is the voltage on the MOSI pin too low - what
is pulling it down.

I'm getting identical results with both the Dediprog SF100 and a Bus Pirate
(not sure which version).  And I did try the trick on the Bus Pirate where
you apply the VCC voltage to the Bus Pirate's VUP (pull-up voltage) pin,
and used the flashrom argument to turn on the pull-ups.


On Wed, Nov 22, 2017 at 10:29 AM, Ivan Ivanov <qmastery16 at gmail.com> wrote:

>  Hi Yaron, please read about the In-System Programming. It could be
> that the peripheral devices of your motherboard are consuming some
> percentage of the power that was aimed to power a BIOS chip during the
> access - because of that, there is not enough power for a BIOS chip
> and your attempts are failing. What to do:
> I) You could try to reduce the amount of peripheral devices - e.g.
> disconnect the RAM modules from your system and try again
> II) Also you can try to power a BIOS chip by the motherboard :
> 1) disconnect a VCC wire from your programmer, also disconnect WP and
> HOLD just in case
> 2) disconnect all the boot devices from your motherboard
>  3) connect a clip to a BIOS chip
> 4) connect a power adapter to your motherboard and turn it on
>  5) just in case, wait 5 minutes so that all the initialization
> processes will be completed
> 6) read the contains of a BIOS chip a few times
> 7) compare the checksums of read files, if they are the same - erase
> the BIOS chip (by filling it with FF's), turn off the motherboard,
> then turn it on again, wait 5 minutes - then flash your desired binary
> image to this BIOS chip
>  III) Alternatively you may want to de-solder a BIOS chip from
> motherboard and connect it to your programmer with DIP adapter, but
> probably could be avoided if you do I) or II) successfully
>  IV) Try a different programmer, e.g. CH341A which is super cheap
> simple hardware fully supported by flashrom - should be reliable
> I wish you good luck, sadly Supermicro X10DRT-Lis not supported by
> coreboot open source BIOS - hopefully you will be able to get a better
> hardware one day...
> Best regards,
> 2017-11-21 17:57 GMT+03:00 Yaron Shragai <yshragai.firmware at gmail.com>:
> > Hello,
> > I am trying to use flashrom to program a Winbond W25Q128FV chip, on a
> > Supermicro X10DRT-L mobo, with a Dediprog SF 100.
> >
> > I am running flashrom from an Ubuntu VM on a Win10 laptop as well as
> from a
> > Minnowboard Max system running Ubuntu.
> > I am running flashrom v0.9.9-rc1-r1942, installed via apt.
> > I am connecting to the chip via a SOIC clip.
> >
> > I should note that I have looked at the product support data on the
> flashrom
> > web site.  It lists full support for the W25Q128FV.  It does not list the
> > X10DRT-L mobo.
> >
> > flashrom almost never "sees" the flash chip (output: "No EEPROM/flash
> device
> > found.").
> >
> > I say "almost", b/c it did see it a couple of times (out of, I would say,
> > ~100 tries) - which was enough for me to read out the pre-existing
> content,
> > and write to it an image that has effectively bricked it. :-)  So, now
> I'm
> > trying to flash the pre-existing content back...  (There is no documented
> > way to force the X10DRT-L to use the recovery block, and I have yet to
> find
> > an undocumented way...)
> >
> > I have tried with the system board plugged in and unplugged, and with and
> > without connecting the VCC pin to the programmer.
> >
> > I have been using these two command lines, at various times:
> > flashrom -p dediprog
> > flashrom -p dediprog:voltage=3.5
> >
> > When I add -VVV, the following relevant lines appear in the output:
> >
> > Probing for Winbond W25Q128.V, 16384 kB: programmer_map_flash_region:
> > mapping W25Q128.V from 0x00000000ff000000 to 0x0000000000000000
> > dediprog_spi_send_command, writecnt=1, readcnt=3
> > RDID returned 0xff 0xff 0xff. RDID byte 0 parity violation.
> > probe_spi_rdid_generic: id1 0xff, id2 0xffff
> > programmer_unmap_flash_region: unmapped 0x0000000000000000
> >
> > ...and further down...
> >
> > Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB:
> > dediprog_spi_send_command, writecnt=1, readcnt=3
> > RDID returned 0xff 0xff 0xff. RDID byte 0 parity violation.
> > probe_spi_rdid_generic: id1 0xff, id2 0xffff
> >
> > One more datapoint: When I connect my laptop -> Dediprog -> to the flash
> > chip on the Minnowboard Max (Micron 25Q064A), it does recognize the chip.
> >
> > Any advice would be appreciated!
> >
> > Thanks,
> > Yaron
> >
> > _______________________________________________
> > flashrom mailing list
> > flashrom at flashrom.org
> > https://mail.coreboot.org/mailman/listinfo/flashrom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/flashrom/attachments/20171124/f70c0dff/attachment.html>

More information about the flashrom mailing list