[flashrom] Trouble disabling write-protection on Chromebook

David Hendricks dhendrix at google.com
Thu Dec 19 00:02:43 CET 2013

On Wed, Dec 18, 2013 at 2:56 PM, David Hendricks <dhendrix at google.com>wrote:

> On Mon, Dec 16, 2013 at 9:09 PM, <
> BM-2cWKH3wgq8zXX9eHfba16oTc8b61ead4Yq at 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?

You can also try "flashrom -p host --wp-range 0 0" and then "flashrom -p
host --wp-status" to see if that changes anything. I'm curious if it's just
that SRP0 bit that seems stuck. If the /WP pin is not grounded, then
hardware write-protection should not be in effect and you should be able to
effectively disable write-protection by clearing the range of protected
blocks even if SRP0 is set to 1.

>  > 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.

David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20131218/02f7e6cb/attachment.html>

More information about the flashrom mailing list