I’ve got flashrom v1.1 (via brew on MacOS X) and a Buspirate v4 running the v7.0 community firmware. I’ve hooked it up to a Winbond W25Q64FV. I’m fairly confident that it’s hooked up correctly, because if I use a terminal program to talk to the BP, I can set it into SPI mode, turn on the power and manually perform a 0x90 command and I get back 0xEF 0x16, which is what the manual tells me is supposed to be a W25Q64FV’s ID. I’ve also manually written a few bytes into the chip and erased them, so I generally have an expectation that the chip is wired up properly and operating correctly.
But there are a couple of issues with flashrom. First, every time I use flashrom, if I then do not reset the buspirate, subsequent runs of flashrom just hang. So flashrom isn’t putting the BP back into a mode where it can be recognized, apparently. Secondly, the probe always results in
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k flashrom v1.1 on Darwin 18.7.0 (x86_64) flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK. Warning: given baudrate 2000000 rounded down to 230400. Found Winbond flash chip "unknown Winbond (ex Nexcom) SPI chip" (0 kB, SPI) on buspirate_spi. === This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash chip. Please include the flashrom log file for all operations you tested (see the man page for details), and mention which mainboard or programmer you tested in the subject line. Thanks for your help! No operations were specified.
Adding -V -V gives one interesting extra line:
Probing for Winbond W25Q64.V, 8192 kB: probe_spi_rdid_generic: id1 0xef, id2 0x7017
Now, the manual says that there’s supposed to be a 0xef 0x6017 result for 0x9f, but the bus pirate gets back 0x7017, even when I perform a 0x9f manually.
So in short, does flashrom 1.1 work properly with the buspirate v4 with firmware v7?
Nick Sayer via flashrom:
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k
That spispeed looks unusual. Have you tried spispeed=1M?
Yes. Nothing changes. I slowed it down in an attempt to get probing to work.
I’ve upgraded the pirate to v7.11 firmware, and that got rid of the need to reset it every time, but it still doesn’t work.
I’ve attempted to add support for the chip into flashchips.c - to at least get it to recognize the 0x7017 ID, but that doesn’t work either.
%./flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=1M -c W25Q64.V..M -V -V -V […] The following protocols are supported: SPI. Probing for Winbond W25Q64.V..M, 8192 kB: programmer_map_flash_region: mapping W25Q64.V..M from 0x00000000ff800000 to 0x0000000000000000 buspirate_sendrecv: write 6, read 4 Sending 0x04 0x00 0x01 0x00 0x03 0x9f, receiving 0x01 0x00 0x00 0x00 RDID returned 0x00 0x00 0x00. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 programmer_unmap_flash_region: unmapped 0x0000000000000000 No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.
It’s as if flashrom isn’t talking to the chip properly at all. I do see it lighting up “mode” and “pwr” LEDs briefly while trying to probe, but it just doesn’t work.
But standalone, it works fine:
SPI>[ 0x9f r r r ] /CS ENABLED WRITE: 0x9F READ: 0xEF READ: 0x70 READ: 0x17 /CS DISABLED
On Aug 7, 2019, at 7:04 PM, awokd via flashrom flashrom@flashrom.org wrote:
Nick Sayer via flashrom:
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k
That spispeed looks unusual. Have you tried spispeed=1M? _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
I did get it working by backing back down to v7.0 of the BP firware, but now we’re back to it locking up after every invocation. But I do appear to have successfully programmed my W25Q64JVSSIM by adding a flashrom.c entry for it - basically copying the one for the 0x7018 and chopping the sizes in half.
But I would like to know what the *optimal* BP firmware version is (and where to get it). I want this flashrom / BP4 combination exclusively for this job (burning flash chips), so it doesn’t necessarily have to be good at anything else.
On Aug 7, 2019, at 7:10 PM, Nick Sayer via flashrom flashrom@flashrom.org wrote:
Yes. Nothing changes. I slowed it down in an attempt to get probing to work.
I’ve upgraded the pirate to v7.11 firmware, and that got rid of the need to reset it every time, but it still doesn’t work.
I’ve attempted to add support for the chip into flashchips.c - to at least get it to recognize the 0x7017 ID, but that doesn’t work either.
%./flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=1M -c W25Q64.V..M -V -V -V […] The following protocols are supported: SPI. Probing for Winbond W25Q64.V..M, 8192 kB: programmer_map_flash_region: mapping W25Q64.V..M from 0x00000000ff800000 to 0x0000000000000000 buspirate_sendrecv: write 6, read 4 Sending 0x04 0x00 0x01 0x00 0x03 0x9f, receiving 0x01 0x00 0x00 0x00 RDID returned 0x00 0x00 0x00. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 programmer_unmap_flash_region: unmapped 0x0000000000000000 No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.
It’s as if flashrom isn’t talking to the chip properly at all. I do see it lighting up “mode” and “pwr” LEDs briefly while trying to probe, but it just doesn’t work.
But standalone, it works fine:
SPI>[ 0x9f r r r ] /CS ENABLED WRITE: 0x9F READ: 0xEF READ: 0x70 READ: 0x17 /CS DISABLED
On Aug 7, 2019, at 7:04 PM, awokd via flashrom flashrom@flashrom.org wrote:
Nick Sayer via flashrom:
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k
That spispeed looks unusual. Have you tried spispeed=1M? _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
What is your BPv4 bootloader version? I've tried many builds of BPv4 community firmware, the latest is from 12 June 2018 sources (didn't feel the need to upgrade it later) and never had any problem with flashrom. However, my firmware builds have been always paired with the latest builds of BPv4 bootloader.
My firmware builds are shared here - http://dangerousprototypes.com/forum/viewtopic.php?f=28&t=8498&p=652... - please try a 12062018 build to see if it solves your problem. If not, then you'll have to upgrade your bootloader - to do that you may need to get a Pickit2 tool (about 8 usd with free ship from aliexpress / china). See the instructions here for more details - http://dangerousprototypes.com/docs/Bus_Pirate_v4_and_Pickit2_(bootloader_an...)
Also, perhaps your command should look like " sudo ./flashrom -p buspirate_spi:dev=/dev/ttyACM0,spispeed=1M ..." , this is the first time I see a weird "tty.usbmodem000000011" and it might be incorrect. In addition, hope you could test your BPv4 with Linux, maybe there would be a better result (don't know the quality of OS X brew ports).
On Thu, Aug 8, 2019 at 6:20 AM Nick Sayer via flashrom flashrom@flashrom.org wrote:
I did get it working by backing back down to v7.0 of the BP firware, but now we’re back to it locking up after every invocation. But I do appear to have successfully programmed my W25Q64JVSSIM by adding a flashrom.c entry for it - basically copying the one for the 0x7018 and chopping the sizes in half.
But I would like to know what the *optimal* BP firmware version is (and where to get it). I want this flashrom / BP4 combination exclusively for this job (burning flash chips), so it doesn’t necessarily have to be good at anything else.
On Aug 7, 2019, at 7:10 PM, Nick Sayer via flashrom flashrom@flashrom.org wrote:
Yes. Nothing changes. I slowed it down in an attempt to get probing to work.
I’ve upgraded the pirate to v7.11 firmware, and that got rid of the need to reset it every time, but it still doesn’t work.
I’ve attempted to add support for the chip into flashchips.c - to at least get it to recognize the 0x7017 ID, but that doesn’t work either.
%./flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=1M -c W25Q64.V..M -V -V -V […] The following protocols are supported: SPI. Probing for Winbond W25Q64.V..M, 8192 kB: programmer_map_flash_region: mapping W25Q64.V..M from 0x00000000ff800000 to 0x0000000000000000 buspirate_sendrecv: write 6, read 4 Sending 0x04 0x00 0x01 0x00 0x03 0x9f, receiving 0x01 0x00 0x00 0x00 RDID returned 0x00 0x00 0x00. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 programmer_unmap_flash_region: unmapped 0x0000000000000000 No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.
It’s as if flashrom isn’t talking to the chip properly at all. I do see it lighting up “mode” and “pwr” LEDs briefly while trying to probe, but it just doesn’t work.
But standalone, it works fine:
SPI>[ 0x9f r r r ] /CS ENABLED WRITE: 0x9F READ: 0xEF READ: 0x70 READ: 0x17 /CS DISABLED
On Aug 7, 2019, at 7:04 PM, awokd via flashrom flashrom@flashrom.org wrote:
Nick Sayer via flashrom:
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k
That spispeed looks unusual. Have you tried spispeed=1M? _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
The device names are different on MacOS than Linux. /dev/tty.usbmodemnnnn is correct for CTC devices.
I did finally settle on community firmware 7.1 without any optimization. That works with flashrom and doesn’t require being reset after every invocation of flashrom. I haven’t upgraded the bootloader at all - it’s still the factory one and that seems to work just fine.
Sent from my iPhone
On Aug 15, 2019, at 5:20 AM, Mike Banon mikebdp2@gmail.com wrote:
What is your BPv4 bootloader version? I've tried many builds of BPv4 community firmware, the latest is from 12 June 2018 sources (didn't feel the need to upgrade it later) and never had any problem with flashrom. However, my firmware builds have been always paired with the latest builds of BPv4 bootloader.
My firmware builds are shared here - http://dangerousprototypes.com/forum/viewtopic.php?f=28&t=8498&p=652...
- please try a 12062018 build to see if it solves your problem. If
not, then you'll have to upgrade your bootloader - to do that you may need to get a Pickit2 tool (about 8 usd with free ship from aliexpress / china). See the instructions here for more details - http://dangerousprototypes.com/docs/Bus_Pirate_v4_and_Pickit2_(bootloader_an...)
Also, perhaps your command should look like " sudo ./flashrom -p buspirate_spi:dev=/dev/ttyACM0,spispeed=1M ..." , this is the first time I see a weird "tty.usbmodem000000011" and it might be incorrect. In addition, hope you could test your BPv4 with Linux, maybe there would be a better result (don't know the quality of OS X brew ports).
On Thu, Aug 8, 2019 at 6:20 AM Nick Sayer via flashrom flashrom@flashrom.org wrote:
I did get it working by backing back down to v7.0 of the BP firware, but now we’re back to it locking up after every invocation. But I do appear to have successfully programmed my W25Q64JVSSIM by adding a flashrom.c entry for it - basically copying the one for the 0x7018 and chopping the sizes in half.
But I would like to know what the *optimal* BP firmware version is (and where to get it). I want this flashrom / BP4 combination exclusively for this job (burning flash chips), so it doesn’t necessarily have to be good at anything else.
On Aug 7, 2019, at 7:10 PM, Nick Sayer via flashrom flashrom@flashrom.org wrote:
Yes. Nothing changes. I slowed it down in an attempt to get probing to work.
I’ve upgraded the pirate to v7.11 firmware, and that got rid of the need to reset it every time, but it still doesn’t work.
I’ve attempted to add support for the chip into flashchips.c - to at least get it to recognize the 0x7017 ID, but that doesn’t work either.
%./flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=1M -c W25Q64.V..M -V -V -V […] The following protocols are supported: SPI. Probing for Winbond W25Q64.V..M, 8192 kB: programmer_map_flash_region: mapping W25Q64.V..M from 0x00000000ff800000 to 0x0000000000000000 buspirate_sendrecv: write 6, read 4 Sending 0x04 0x00 0x01 0x00 0x03 0x9f, receiving 0x01 0x00 0x00 0x00 RDID returned 0x00 0x00 0x00. RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 programmer_unmap_flash_region: unmapped 0x0000000000000000 No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.
It’s as if flashrom isn’t talking to the chip properly at all. I do see it lighting up “mode” and “pwr” LEDs briefly while trying to probe, but it just doesn’t work.
But standalone, it works fine:
SPI>[ 0x9f r r r ] /CS ENABLED WRITE: 0x9F READ: 0xEF READ: 0x70 READ: 0x17 /CS DISABLED
On Aug 7, 2019, at 7:04 PM, awokd via flashrom flashrom@flashrom.org wrote:
Nick Sayer via flashrom:
% flashrom --programmer buspirate_spi:dev=/dev/tty.usbmodem000000011,spispeed=30k
That spispeed looks unusual. Have you tried spispeed=1M? _______________________________________________ flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org
flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an email to flashrom-leave@flashrom.org