Hi Yaron, its very interesting why MOSI voltage is low. Have you tried disconnecting the peripheral devices like RAM ? about Bus Pirate - which firmware you have? (Bus Pirate old firmware is not good quality, its much more stable if you flash a new "Community Firmware" to it - github BusPirate/Bus_Pirate ) Also please try getting CH341A - it is very cheap flasher which should be reliable thanks to its' simplicity. Another idea: there are small circuit boards called " Step-Up Voltage Regulator " - some versions of them convert 0.5-3.3V to 3.3V --- however if you increase the voltage, it would be less current (maybe not enough to transmit a signal). Still I really hope that you could flash it without complicating a setup by adding the new boards... Best regards, Ivan
2017-11-24 17:56 GMT+03:00 Yaron Shragai yshragai.firmware@gmail.com:
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 qmastery16@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 :
- 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@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