Externally flashing SPI - SREG cannot be changed from Hardware Protected

Hi all, I have a few chrome books I wanted to try to install linux etc onto, the first one I am trying to install custom firmware onto is a Lenovo 100e 2nd gen.

I am using a CH341A programmer to interface with the SPI (winbond W25Q128FW) chip along with a clamp (with a logic 1.8v adapter).

I can connect perfectly fine, as well as read, I cannot, however, write to it, after reading the docs for this chip I found out that the current state of the status register (Only SRP0 enabled) is Hardware Protected, along with TB, BP2, BP0 being active as well, disabling writing to specific memory regions.

After more reading I found out that the programmer I’m using isn’t the best but it should work (due to my adapter (I also understand soldering WP high along with HOLD is an option, but I’m hoping my adapter should be enough)) - from this knowledge of the programmer itself is pulling HOLD and WP to 1.8v (with adapter attached) I assumed I would have disabled hardware protected mode and should be in hardware unprotected mode, but I cannot edit the SREG values.

I may be slightly lost at this point, so some help would be very much appreciated!

I have tried a number of things from last time to try to write, I am now assuming the 1.8v adapter is in fact not pulling the WP pin high, I cannot be sure however

I’m in a similar boat: same chip, same programmer… and I can’t flash it with new firmware, it is write protected in the same way as well. I have tried all combinations of pulling up and down the WP and HOLD pins, connecting them directly to Vcc… and haven’t had any success flsshing the chip.
Did you manage to flash it in end? If so, how?

I managed to disable write protection eventually. What worked for me is:

  1. Short WP pin and HOLD pin to GND and power up the chip
  2. Short just WP pin to GND and power up
  3. Connect everything normally and run
    flashrom --wp-disable
    on the latest version of flashrom on github
    (There may be flags for the command missing, I can’t check exactly what I run now)

Probably step 1 or 2 can be skipped, but I can’t guarantee it as I did not check inbetween steps.

Now I’ve got a fully functioning acer spin 511 happily running manjaro linux.
By the way, I did not need to run the keyboard remapping script, everything just worked. And to get the screen to rotate automatically on changing orientation, I had to install iio-sensor-proxy.

Thanks a lot to everyone contributing to this project!

I managed to solve it by pulling WP high to VCC, which I then managed to set SREG to anything I wanted, flashed coreboot with my vpd info, and it works like a charm, will be installing linux on it later today

do you have an image of how its connected? have an acer spin511 and its bricked because of the restrictions, trying to reset the eeprom/eprom/prom/rom