Thinkpad x120e

Thinkpad x120e

282 × 189 × 15.6 mm, 1.33 kg

This laptop replaced my Thinkpad x40 in November 2011. In February 2013 I replaced it with a Thinkpad x220 (305 × 206 × 20 mm, 1.3 kg), mostly because the AMD E-350 processor was too slow.

Everything seems to work, with a few tweaks. I replaced the disk with an SSD and upgraded the memory from 1GB to 2 (I had 2GB sitting around from a previous Mac Mini upgrade). I got the E-240 version because it comes with the smaller 3-cell battery, but then found it's slower than the Pentium M in my six year old x40. So in February 2012 I traded it for the E-350 version, and upgraded the memory again, to 6GB.

Linux/Ubuntu quirks

Alsa wants to use the hdmi instead of the built-in speakers for sound output. Put this in /etc/asound.conf:

pcm.!default front:SB

The volume controls seems to be handled by software, not hardware as in previous Thinkpads. This may be handled by some desktop packages. I run xbindkeys:

% cat ~/.xbindkeysrc
"amixer -q -c 1 set Master 4- unmute"
 XF86AudioLowerVolume

"amixer -q -c 1 set Master 4+ unmute"
 XF86AudioRaiseVolume

"amixer -q -c 1 set Master toggle"
 XF86AudioMute

The screen flickers when it comes back from X dpms blanking. I solved this by disabling blanking. The LED backlight doesn't use much power and has a very long expected life, so leaving it on isn't such a big deal.

The screen always goes to max brightness on boot due to a bug in the DSDT. See DSDT editing: Put an end to your ACPI woes for details. I have a fixed dsdt.dsl, but it's easier just to put this in /etc/rc.local:

echo 7 > /sys/class/backlight/acpi_video0/brightness

The Realtek rtl8192ce 802.11 sometimes disconnects and won't reconnect. This seems to be a power management problem. I tried disabling power management for this device:

echo 'options rtl8192ce ips=0' >/etc/modprobe.d/rtl8192ce.conf
But that didn't fix it, so now I run a ping in the background.

Linux Kernel Config

tpx120e.config
There isn't really any good reason to build a special kernel but here is the config I use.

Jim Rees