Buttons in case you want to go back to blogindex or back to front page

ThinkPad T440p

T440p pre trackpad swap

The T440p before swapping out the clunkpad

T440p post trackpad swap

The T440p after swapping out the clunkpad

Introduction/Background info

In this article I go through all the stuff I can think of that have something to do with my ThinkPad T440p or the T440p in general.

I bough my T440p of a seller on the local graigslist-equivalent here in Finland(similar to how I got the X200). I paid 150€ for the T440p, the Pro dock, a battery and a charger. The T440p came with an i5-4300M and 4GB of ram.

Why I ended up buying the T440p and not another machine is mostly due to extensive research from my part. The T440p came out as the only reasonable prized laptop when I compared different laptops that had all the stuff I want from a laptop

Stuff I need from a laptop
Stuff I want from a laptop

When searching for laptops that cover all my "needs" for a laptop and most of my "wants" and is reasonably priced on top of that (<500€) there really aren't many choices left and the T440p is definitely the most powerful of those.

Other laptops I considered were the T430 and the T450(s). The T430 was my main choice for a while because it is quite easy to hook up to an eGPU but when my gaming-interest dropped dramatically, so did my needs for a dGPU as well. The T450(s) also seemed like a great option due to the fact that it has two batteries (1 internal, 1 external) of which the external is hot-swappable. This would've meant unheard of battery life for me but I ended up not going for that since the Intel U-series processors on those machines are very weak compared to the M-series and soldered onto the motherboard.

I ended up getting the T440p even though I knew it wasn't perfect. But unlike many other laptops the T440p is highly customizable and I knew I was going to be able to make it near-perfect for my "needs" and "wants".

Hardware (and upgrades I made)

My T440p has the following specs:

Upgrading the hardware (apart from the trackpad) is really easy! Half of the time it doesn't even require consulting the HMM because most of the interesting components can be accessed by just removing what the HMM calls "the Big Door" (secured by two screws).

The trackpad is really the only tricky one since it requires removing the keyboard and the keyboard bezel. But that too is only a 30min job at most

What I recommend always when working on thinkpads is consulting the HMM since it is such a great resource with excellent pictures and makes stuff just easier to take apart and put back together.

Software that I run on the T440p

I'm currently running an installation of Gentoo on my T440p. It's my second gentoo installation on bare metal and I'm overall quite happy of how it turned out. Trying out Gentoo was something I had planned on doing when I got the T440p since before I had the machine I really wanted to try it out but didn't quite have the hardware for installing it.

My Gentoo install is quite minimal although I really haven't spent enough time optimizing the kernel (Compiling everything as a module isn't really optimal). The main advantage of gentoo for a user like me over something like arch is that I get to leave out all the features of the applications I'm not planning to use. Lately I've come to realize that the gains in disk space aren't really worth it for me, since I'm not going to run out of disk space anytime soon anyways and saving a couple megs here and there won't do anything to change the situation.

I'm planning on migrating to a binary based distribution (Arch most likely) soon. This is not because I don't like Gentoo, I absolutely adore Gentoo, It's just because I've come to realize that Gentoo really isn't for my use case since the from using it are barely noticable anyways. And the compilation times still do get quite long sometimes (25min for full kernel compilation)

Other than using Gentoo my setup doesn't really differ from my other setups that much as I've really perfected my workflow over the years and I'm not planning to change it anytime soon. If you're interested about my general GNU/Linux setup, go check out this article (when I'm finished writing it).

Some T440p-specific configurations on my setup do exist however. The most notable one being the undervolt-configuration. I'm using the undervolt python module to undervolt the i7 on the ThinkPad. This helps in achieving better thermals while having no negative effect on performace whatsoever. In my case the CPU seems to become unstable when going past -50mV so I'm keeping my voltages at that. Undervolting in general is a very easy "mod" to make and it usually provides some benefits in performance and battery life. Post-Haswell intel chipsets are generally known to provide the CPU with more power than it acually needs for stable operation and undervolting is a great way to quickly improve performance on almost every modern intel-based laptop.

Another interesting thing about my T440p is that I recently corebooted it. I'll cover the corebooting in somewhat greater detail in the next section

Coreboot (and stuff that it breaks)

I corebooted my T400p July 17th 2021. It was one warm summer day that I spent around the kitchen table together with 4 laptops, a Raspberry Pi 4, a bunch of cables and a cup of coffee.

Overall I'd rate the corebooting process of the T440p a 3/5 (The X200 is 4/5). This is because flashing the T440p was significantly more difficult than doing the same thing for the X200. This is mostly due to the T440p having two bios chips instead of the one on the X200 and the fact that in order to gain access to the second chip on the T440p(the 8MiB one) you have to take almost the whole machine apart.

During the coreboot process I almost managed to kill the 4MiB bios chip by hooking the programming clip in reverse (I blame this on poor motherboard design since the PIN_1s are on different sides on the two bios chips). What I count as "almost" killing the chip is this: After I'd realized what I'd done I powered down the PI, removed the programming clip and tried booting the machine. The response wasn't great.. The machine was in a "braindead" mode. The fan was spinning but nothing was coming up on the screen. At this point I panicked a little and after a solid 10 minutes of walking in circles I went on Ebay to look for replacement motherboards (as this was before I had successfully dumped the contents of the chip). After a solid half hour of scrolling the internet while constantly telling myself how stupid I am, I went back to the T440p to do one last test before giving in and ordering a replacement motherboard. This time I decided to remove the RAM while I was at it. I really don't know what made me do that but I did it. When I powered on the ThinkPad, it beeped a couple times before shutting down (as it normally will when it is powered on without ram). This is when I knew the computer had magically fixed itself. I booted it back up with some RAM installed and went to check that everything was still working, AND IT TOTALLY WAS! I don't know how the computer managed to recover from me (a stupid user) hooking 3,3V to GND and GND to VCC but I suspect it is due to some ingenious engingeering by someone (whom I consider myself owing 100€). After all this I made sure to put the clip on the correct way next time and I hope I never have to witness something similar again.

After recovering from the clip incident I went ahead and corebooted the T440p. Flashing it worked like a charm most likely because I already had some experience on working with flashrom on the RPi. After succesfully booting the T440p the first time I assembled it and then proceeded to try out different payloads. I tested TianoCore, GRUB and SeaBIOS and ended up sticking with SeaBIOS since it was the only one of them that worked out of the box and I was too lazy to start configuring stuff (TianoCore didn't work for me, since I do not use UEFI). Regardless of my earlier lazyness I'm most likely going to migrate to using a GRUB-config chainloading setup as soon as I find the motivation to configure it. I'm also in need of a grub config that is able to chainload an EFI file from a usb-thumbdrive. If anyone has gotten that working please contact me at lajp@iki.fi

After corebooting the machine almost everything seemed to work fine although I did run into some minor issues:

  1. The battery thresholds didn't work through TLP and I had to make my own open-rc service to configure them using tpacpi-bat
  2. Whenever i unplug my T440p from the AC adapter I get this kind of spam(100s of lines) to my /var/log/syslog: Jul 17 11:22:22 luukas-t440p root: ACPI event unhandled: processor LNXCPU:04 00000081 00000000 . I have no idea why it happends but if someone knows how to fix it please do tell (I will also update the solution here when I figure it out)
  3. The light-indicator on the Fn-button seems to have flipped logic on coreboot. When having sticky-fn off (which any sane person should have) the green indicator light on the Fn-button is on and when turning sticky-fn on (By pressing Fn+Esc) the light goes off. I'd like to think of this as not a big deal but to be perfectly honest with you, it's driving me quite mad at the moment. I'll probably be in contact with some coreboot developers to get this issue resolved or then just make my own modification to the coreboot codebase to get rid of the light.
  4. This might be due to bad configuration on my side: Sometimes when the computer is under heavy-ish load, the fan goes into very high speeds for ~2s and then drops down to low speed. I have no idea why this happends and I have no clue how I would start debuggint a problem like this... Again: If someone knows, please contact me... :^)

Other than those minor issues the coreboot have worked flawlessly and thanks to that I am now enjoying a boot time far better than I could've ever even dreamed of on any other machine. I'm currently quite happy with how the state of the T440p apart from the few issues listed uptop which I'm planning to try and fix in the near future.

A video of the T440p booting through coreboot with SeaBIOS as the payload:

What I use the machine for

Currently the machine functions as my daily driver for everything. It's powered on almost 24/7 and I use it to everything from media-consumption and gaming to programming. I think my type of use case is really where the T440p shines, as it isn't too expensive to get your hands on but still has overall decent performance and great upgradeability to make it future proof. I'd personally recommend the T440p for any entry level programmers and even for the more experienced ones but as a gaming machine it really isn't suitable for anything intense. Additionally I think the T440p is a perfect machine for Linux-enthusiast to tinker with and that might be one reason why it is the only Haswell laptop currently supported by the Coreboot project. As my next accusition I've planned to try and get my hands on a thinkpad with more modern hardware. Perhaps the custom X2100 mod or the new X1 Nano. But I think I'll still have to wait some time before getting those since the M1 Macs are currently too OP and I do think that it is not worth it to get a new laptop in 2021 (unless you're getting an M1 Mac which I won't get due to my hatred towards Apple as a company)

Summary

This article summarized: The T440p is one of the greatest currently available, reasonably prized ThinkPads if you have the necessary skills and resources to fill in the holes of the design. Corebooting the T440p brings some additional freedom but is a difficult process that requires tools and skill. Overall the T440p can deliver performance almost in par with other laptops today (apart from the M1 Macs) which makes the T440p very much worth it even in 2021 and probably for the coming 5 years as well.

Contacts

If you enjoyed this article or have some suggestions or comments about it, please email me at lajp@iki.fi