More or less every three to six months, I tinker with different portable computing options. This is partly because my mobile computing needs change over time, but mainly because my needs are conflicting and it is difficult to find a single hardware solution that optimizes for all my use cases and dogmas. Most recently, I’ve been using a Lenovo Miix 310 convertible, which – albeit being basically a netbook that you can pull the keyboard off – scores high on things like battery life and portability. Unfortunately, it is completely crippled by a lack of palm rejection on the trackpad. The keyboard itself isn’t great, either, to be frank – but it would be just about usable if it wasn’t constantly registering phantom mouse movements and clicks from your palms. A secondary gripe with the machine is that there is a severe hardware or driver bug that renders the MicroSD card slot essentially useless. It does have great battery life, though – which is important when I’m doing Detroit/Atlanta-Paris and back.
Thus, I’ve been on the hunt for something better, and I’ve always had a liking for the ThinkPad X series ultraportables. I wrote a significant portion of my first book, and developed most of the accompanying code, on a ThinkPad 240X. Part of the reason I was able to write tens of thousands of words in comfort on an ultraportable is that IBM’s ThinkPad team is legendary for their attention to keyboard quality, and I can attest that this detail has persisted into the Lenovo era – though, as you can see from my above complaints, not into Lenovo’s non-ThinkPad mobile computers. I also happen to loathe trackpads – I don’t even like using dragging gestures on phones and tablets – and I’ve therefore always really liked using the TrackPoint, which I’m glad Lenovo has retained.
The ThinkPad X220 is a 2011-vintage business machine that can now be found on eBay anywhere between $100 and $250 depending on configuration, condition and accessories. The criteria that make this series of machines attractive to me are:
- Great battery options; 6-cell or 9-cell main battery, and optional add-on slice for 9, 15 or up to 23 hours of nominal battery life. Note that those numbers are based on reviews contemporary to release date, which were testing on Windows 7, and like all battery life measurements, they’re unavoidably synthetic.
- Light weight (<4lb) and 12″ LCD.
- Flexible storage; an mSATA slot for SSDs, a 2.5″ SATA bay, and an SD slot that completely “swallows” an inserted card with nothing protruding.
- Acceptably fast CPU (up to i7-2640M) and decent expandability to 8GB (spec) or 16GB (verified by end-users) RAM.
- Solid connectivity – WiFi, Bluetooth, wired Ethernet, 3 USB ports (the i7 SKUs have one USB 3.0 port), ExpressCard, DisplayPort, analog VGA, internal miniPCIe slot.
I picked up a machine for an astounding $75 with charger and non-guaranteed 9-cell battery. It has a 2.6GHz Sandy Bridge i5-2540M CPU, 120GB SSD in the mSATA slot, and 6GB of RAM. As it turns out, the unit I received is a very unusual non-catalog SKU built for some custom contract; it has a fingerprint sensor, the wide-visibility-angle IPS screen option, and the baseline 2.4GHz b/g/n WiFi card has been upgraded to a Centrino Advanced-N 6205 dual-band a/b/g/n. This latter is important, because the machine uses BIOS whitelisting to lock out cards that weren’t approved by IBM (more on this later). I also ordered a 9-cell battery on Amazon for $19; obviously, nameless third-party. The real battery is still available from Lenovo for $70. The cheap one I bought was advertised as 7800mAh, and is labeled 6400mAh (OEM is 7950mAh), but according to the gas gauge in it, the design capacity is 73,260mWh (vs 93,240mWh for the OEM battery) and the actual is 67,990mWh (so it’s already down 7% from its design capacity, from day one). As a note, the original part has a red dot with a series number printed on it, and if that series number is “29++” you should expect the battery to fail early. Good batteries are labeled 44++.
My first challenge was to get a licensed OS onto it. The seller claimed it was shipped with Windows 10 – which was kinda true – it had a Windows 10 Enterprise license on it, an unlicensed copy of Acronis TrueImage, and a janky KMS emulator from the bowels of the dark web. If I wanted to leave the machine like this, I’d never be able to uninstall the hackware (because it fakes out the responses from Microsoft’s authentication servers every 180 days to keep the OS activation valid), and I’d never be able to reset the machine, because it had no recovery partition. Call me picky, but I don’t care to have my personal data on a machine stuffed with untrustable hackware that could be doing anything from keylogging to mining dogecoin. After some Googling, I found that I could use the Windows 7 Pro key from the machine’s existing CoA to install and activate Windows 10 from scratch, so I wiped it and did exactly this. Yay!
After installing the OS and the few applications I need (Chrome, Office 365, Quicken, VLC and cross-compilers for various embedded targets), I went to look at the Lenovo drivers and add-ons to put the machine in its best shape for measuring battery endurance. I figured the Lenovo power management driver would be essential – and while I was there, I installed the ThinkVantage fingerprint driver. Lenovo also provides a handy battery gas gauge reset function – basically, just an override that lets the machine charge the battery to 100% and discharge it fully to reset the gas gauge EEPROM – but it’s buried in a Lenovo Settings utility. Once you install this 20MB utility from the Windows Store, on first launch it will tell you it needs to download and install a “platform drivers” component. Clicking Yes on this starts a download of a 295MB file. TWO HUNDRED AND NINETY-FIVE MEGABYTES. This gargantuan blob runs dozens if not hundreds of install scripts over the course of half an hour and installs an unknown number of non-removable drivers and services.
At this point I assumed I had a system that was configured as well as it could be, so I conditioned the battery by fully charging it and letting it discharge to critical shutdown point on the BIOS setup screen a couple of times. After this, powercfg /batteryreport showed a design capacity of 93,240mWh, and a full charge capacity of 61,130mWh. So, this battery is only 66% of factory capacity, but hey, for the price…
Unfortunately, when I actually took this machine out in the field I found that it only got about 2 hours of runtime, and the CPU fan was running at mid-speed continuously because ntoskrnl.exe was using 30-40% of CPU. Strangely, if I disconnected from WiFi and used the machine to work with Office documents or to play videos off local storage, I would get around 5.5 hours endurance. Acting on a hunch, I completely reinstalled the OS with no third-party drivers (not even the fingerprint driver), and now I get the full 5-6 hours I’d expect out of the old battery with ntoskrnl.exe behaving more peacably. So the lesson learned here is, don’t install any Lenovo bloatware and just use Windows’ drivers – even the fingerprint reader is explicitly identified by Win10 as being Windows Hello compatible. The one feature you lose is the ability to use the fingerprint reader to power the machine on (and its green-to-swipe, amber-you’re-not-recognized LEDs don’t work either) but this seems minor.
So, upgrades. I initially didn’t know this unit had an upgraded WiFi card, so I was looking for a way to unlock the BIOS whitelist. There are some great resources for hacking the X220 here, and it turns out someone has hacked the BIOS to enable all the hidden options. However the caveat is that these options, which are stored in EEPROM, are dangerous; it’s possible to brick the system. If you follow the thread on that website, you’ll see that sure it’s possible to fix EEPROM contents, but what they don’t state there is that you’ll need to desolder the chip and have external hardware to write it. File that one under “not so much”. So, if you want a/b/g/n networking, my advice is just to look for the 6205 card on eBay. 802.11ac probably wouldn’t even make a lot of sense with the antennas built into this laptop, so don’t feel too bad about it. The hacked BIOS also allows you to upclock the RAM slots, but the performance gain is almost negligible. Again, not worth messing about, in my view.
The TL;DR summary:
- Don’t install any software off Lenovo’s website (except the latest BIOS update); your battery will thank you.
- All the laptop’s hardware will work very smoothly in Win10 using native Windows Update drivers, with near-as-darnit no missing functionality.
- The only hardware upgrades you probably want to consider are 16GB RAM and – if your machine came with a spinner – an SSD. Note that the 2.5″ bay is faster than the mSATA slot.
- Even in 2017, the ThinkPad X220 is a very credible machine for mobile media consumption, office productivity and light development tasks, at a price that makes it practically disposable. It’s also decently light, has acceptable battery life running modern software, and since the battery is removable you can easily carry enough power for even a transatlantic flight.