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