Last week I had the misfortune of prying my laptop open trying to install coreboot just to find that it wouldn’t boot anymore after an insuccesfull attempt.

This is the first time that the hardware failed me and it feels pretty much disappointing.

A brief recap of the procedure used to install coreboot.

  1. Reach for the SPI2 chip on your motherboard, there is the BIOS from Lenovo
  2. Attach the SPI2 chip to a SPI enabled interface (a raspberry pi, an FTDI chip)
  3. Read the chip memory and dump it to a file, repeat twice or more.
  4. Check the dump hashes to see if your equipment has operated correctly

I will interrupt here because I didn’t go further than this as my equipment was subpar and it couldn’t read correctly anything.

My problem lies in step 2 of the procedure as the x230 is known to brick sometimes during the read phase.

But how could that be true? Just by reading I can’t modify the BIOS and so how could it break?

Well it turns out from my chat with the #coreboot channel on freenode that the SPI2 chip must be powered by the BIOS battery not from an external source like my buspirate.

So basically by supplying VCC from my external FTDI programmer without desoldering the chip you have a fair chance to brick the embedded controller (EC for short) and every possibility to boot your hardware again.

Fix

The SPI2 chip must be powered by the BIOS battery buit how do we get to such a state?

Turns out that if Wake on LAN is enabled the embedded controller can recieve some magical packets from the LAN controller with the intent to signal to start booting.

This is our entry point, if the EC is powered and must boot then the SPI2 chip must be powered on by the BIOS.

Conclusion

Get your hardware in order, buy a solid POMONA clip not a chinese ripoff. I spent too much time trying to make it “grip” to the SPI2 chip and the connections weren’t reliable.

Use your preferred hardware but do not power the SPI2 chip from the external programmer, nine out of ten you will get away with it but the other time oh boy!

Enable wake on lan from the BIOS before tearing apart your laptop and stick a ethernet cable in the port just in case.