Thinkpad X230 Coreboot Power Usage
After 2 years with a Thinkpad X200, I decided to try out an X230 and see if it was worth the upgrade.
Short story - yes.
I ended up removing the Intel ME, putting Coreboot on the X230, and then reflashing the original bios again due to power consumption.
Flashing the X230
The first step is to upgrade, flash the bios, and modify the firmware to allow for other batteries and keyboards. The current bios version is 2.72 and the firmware is 1.14. Instructions are at https://github.com/hamishcoleman/thinkpad-ec
Flashing coreboot may be challenging if you haven’t done it before. Luckily, the best guide is at https://github.com/merge/skulls/blob/master/x230/README.md . If you follow that guide, you will not have to learn the in’s and out’s of compiling your own coreboot, vgabios, etc, etc.
You may need to know what things look like, so this video may be handy:
Also, there is a very large, detailed post, which can be mostly ignored if you follow skulls.
Seriously, skulls works. The documentation has the pinout information for the Raspberry Pi GPIO and the SOIC chips and pretty complete instructions, which may not be well understood if it’s your first time.
Since we want to remove the Intel ME and keep the Lenovo bios, from the skulls tl;dr:
- run sudo ./x230_before_first_install.sh on your current X230 Linux system
- After attaching the clips to the chip, ONLY run
time ./external_install_bottom.sh -c MX25L3206E/MX25L3208E -k bottom_skulls_backup.rom(where the -c flag indicates the chipset on the thinkpad). Note that it takes about 20 min if you use the 3.3 V pin on the Pi to power the SOIC chip since the flashrom needs to go much slower to be stable.
And finally, verify that the Intel ME has been removed:
The testing strategy I used was:
- Booted off Xubuntu Live USB
- Created two terminals
- sudo apt-get install powertop tlp
- sudo systemctl start tlp
- sudo powertop –auto-tune
- sudo powertop (fix any bad settings)
- measured 3-5 intervals with powertop at 20 second delays
This were all measured with kernel 4.15.0-23, firmware 1.14, min brightness. The variations included wifi on/off and two different hard drives.
|Bios||Drive||Wifi||Avg(W)||Power usage (W)|
|Coreboot||Kingston SSDNow||On||8.34||8.33, 8.37, 8.32|
|Coreboot||Kingston SSDNow||Off||7.94||8.25, 7.82, 7.81, 7.99, 7.85|
|Coreboot||Mushkin Reactor||On||8.01||8.24, 7.95, 7.99, 7.96, 7.94|
|Coreboot||Mushkin Reactor||Off||7.56||7.67, 7.50, 7.60, 7.54, 7.53|
|Lenovo 2.72||Kingston SSDNow||On||6.68||6.66, 6.61, 6.71, 6.65, 6.77|
|Lenovo 2.72||Kingston SSDNow||Off||6.23||6.33, 6.18, 6.34, 6.17, 6.15|
|Lenovo 2.72||Mushkin Reactor||On||6.45||6.54, 6.43, 6.44, 6.43, 6.44|
|Lenovo 2.72||Mushkin Reactor||Off||6.03||6.27, 6.03, 5.94, 6.00, 5.95|
Independent of hard drive or wifi on/off, Lenovo BIOS saves about 1.5W. It could be due to the screen backlight, it is a TN screen, so there may be some difference from the IPS. I didn’t recompile coreboot myself, but looking through the skulls settings, it isn’t clear if there are additional power savings that could be had from there.
Real world usage
Assuming that this is a large enough data set with the X230, it definitely consumes less power than the X200. On power hungry tasks, such as browsing, the X200 would regularly consume 15-20 W while the X230 rarely goes over 14W.
|Hours||Power average||Power idle||Power - screen off|
The real-world battery-life, for me at least, seems to be around 10+ hours with the 9-cell battery (total weight 3.7 pounds). The battery life is so good that I’m considering downgrading to a 6-cell battery (total weight 3.37 pounds).
So the X230 is not libre, but it can remove the Intel ME, is faster, and consumes less power. Defintely worth the upgrade.