On Mon, Dec 16, 2013 at 9:09 PM, <BM-2cWKH3wgq8zXX9eHfba16oTc8b61ead4Yq@bitmessage.ch> wrote:
>> As root in
>> developer mode, the output of flashrom -v is "flashrom v0.9.4  : 4169bc8
>> ...". The first time I ran flashrom --wp-disable, I got a message saying
>> the operation FAILED with error=1. At that point I took the board apart
>> again and cleaned the write-protect screw hole with q-tips dipped in
>> rubbing alcohol. When I reassembled the Chromebook and tried again with
>> flashrom -V --wp-disable, the last few lines I receive are:
>>
>> w25_set_srp0: old status: 0xb8
>> w25_set_srp0: new status: 0xb8
>> w25q_disable_writeprotect(): error=1.
>> No -i argument is specified, set ignore_fmap.
>> FAILED
>> restore_power_management(): Power management enabled
>>
>> As you can see, I can't seem to disable write protection on this chip.
>> I'm
>> running stock ChromeOS. Any idea what I might be doing wrong? Thanks in
>> advance.
>
>
> That's weird... Since you have the system taken apart already, can you try
> disconnecting the battery while the machine is unplugged? I'd recommend
> leaving it disconnected for a minute or so, the idea being to give the SPI
> ROM enough time to fully discharge and reset.
>

Thanks for responding. I took your advice and disconnected the battery for
several minutes. After reassembling the board and running flashrom
--wp-disable again I am receiving the same message (FAILED). flashrom
--wp-status says:

WP: status: 0x00b8
WP: status.srp0: 1
WP: status.srp1: 0
WP: write protect is enabled.
WP: write protect range: start=0x00000000, len=0x00200000

Hmmm, that looks correct for normal circumstances (with write-protection enabled). Flashrom *should* be able to clear bit 7 of SRP0, so the status should show up be 0x38 after running with --wp-disable.

Can you try running "flashrom -p host --wp-disable -V" and pasting the output on paste.flashrom.org?

 > If you have a voltmeter handy, you can also try measuring the voltage on
> the /WP pin (pin 3). More details on pin configuration can be found in the
> datasheet:
> http://www.winbond-usa.com/hq/enu/ProductAndSales/ProductLines/FlashMemory/SerialFlash/W25Q32DW.htm
>

I don't have voltmeter; I'm sure I could locate one given enough time
though. Do you have any other suggestions as to steps I might be
overlooking here? Otherwise, what should I be looking for specifically in
the Winbond data sheet?

Unfortunately I don't have many ideas here... I've only seen this once and it seemed to be a defective chip since I couldn't change the write-protect status by removing the chip and using an external programmer. (This was on a different machine, and not in a retail unit)

The only reason for failure should be if there is anything bridging the gap between the copper pads around the write-protect screw hole, thereby connecting /WP on the chip to ground. If you have a magnifying glass, can you inspect just to make sure there is nothing connecting those pads? I assume that since you cleaned the area with rubbing alcohol that there is no residue from the sticker. I'm wondering if there is a tiny bit of copper (perhaps from a manufacturing defect) bridging the gap. If so, I'll ask one of our hardware engineers if it's safe to attempt severing it or if they have any better ideas.

--
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.