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. Thanks, Yaron On Wed, Nov 22, 2017 at 10:29 AM, Ivan Ivanov <qmaster...@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.firmw...@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@flashrom.org > > https://mail.coreboot.org/mailman/listinfo/flashrom >
_______________________________________________ flashrom mailing list flashrom@flashrom.org https://mail.coreboot.org/mailman/listinfo/flashrom