On 17.09.2017 03:51, junkheap(a)tiscali.co.uk wrote:
> Thank you for the help Nico.
> Your advice was successful. After connecting /HOLD & /WP to 3.3V,
> Flashrom wrote & verified the W25Q64SIG without any error messages.
> After previously checking the datasheet I thought that it was necessary
> to do that. But I have little experience of electronics and thought it
> wise to seek advice before trying, as all of the guides to programming
> EEPROMs with Raspberry Pi I found on the web had always left those pins
Most guides probably assume that the chip is still soldered to a board.
In that case the circuit on the board pulls /HOLD and /WP already.
PS. Please always keep the mailing list in CC when you respond. Some
email clients have an extra button (e.g. "Reply all") for that.
> On 16/09/2017 13:57, Nico Huber wrote:
>> On 15.09.2017 18:56, junkheap--- via flashrom wrote:
>>> I am trying to write to a Winbond W25Q64FVSIG EEPROM (SOIC-8) using
>>> Flashrom and a Raspberry Pi 3 (running up to date Raspbian). But I
>>> receive the message "ERASE FAILED!".
>>> I am using the shortest wires which are practical to connect to the
>>> Raspberry Pi (~10CM) and I have checked many times that I have connected
>>> to the correct GPIO pins. To make sure that there is a good connection,
>>> I abandoned the clip I was using and have soldered the EEPROM to the
>>> pads on a daughterboard (designed for the purpose). The wires I am using
>>> have factory-fitted female terminals on both ends and connect tightly to
>>> the GPIO pins on the RPI and pin head on the daughterboard.
>>> From what I have found some people have flashed this model of EEPROM
>>> successfully using Flashrom, but others have encountered the same
>>> problem. I have not been able to find a solution. If anyone can offer
>>> assistance or advice I would me most grateful. Thank you.
>> I see two possible causes:
>> 1. You probably didn't connect all pins of the flash chip. You have to
>> pull /HOLD and /WP high (connect them to 3V3, preferably through some
>> resistor) to succeed.
>> 2. You run the SPI interface at a too high clock. As you didn't supply
>> a `spispeed` argument to the linux_spi programmer, it will at run
>> at some (to me unknown) default speed.