Ubuntu 12.04 on Thinkpad T440

Nov. 19, 2014

Being a slightly dated OS release, mating Ubuntu 12.04 to Thinkpad T440 hardware throws up a few challenges. This post lists these and how those can be worked around.
Disclaimer: I  don't claim to have solved all these issues by myself. Instead all of them were solved by other people. What I did was to was crawl around the web, collect the necessary information and try it out one by one. I'm aggregating them all here for my own record at the same time hoping that someone else who has to go through the same pains would benefit from it.

Wireless Setup {#wireless-setup style="text-align: left;"}

Default installation of 12.04 won't detect the WiFi hardware rendering it useless. However, Ubuntu has updated 12.04 kernel since its original release and the updated kernel includes support for the new WiFi hardware. So to get WiFi support working, you have to do this:

$ sudo apt-get update
$ sudo apt-get install linux-generic-lts-saucy

Once above is finished, reboot the system. Afterward, make sure that all the patches as recommended by the Update Manager are applied and you should get the WiFi working normally.

Enable HDD TRIM {#enable-hdd-trim style="text-align: left;"}

Precise 12.04 does not enable the SSD TRIM feature by default. You have to set it up yourself. There are numerous threads online on how to do this. However very few tell you how to go about doing this for an encrypted partition (like the one I have). This thread covers the latter case very well. I have tested it and it works like a charm.

Only change that I did was to perform the trimming daily by scheduling the cron job appropriately.

The important thing to highlight here is to NOT add the 'discard' option in fstab. Adding this will degrade the HDD performance quite a bit as every erase request to the filesystem would involve the time consuming trimming operation on the relevant 1M block.

Setup Default Screen Brigthness {#setup-default-screen-brigthness style="text-align: left;"}

This was another annoyance that was driving me nuts. Upon every boot up the screen brightness get set to the full level. I just couldn't get it to boot to the last level when the machine was shutdown. Apparently this requires installation of an additional package -- laptop-mode-tools! Once this is done, you have to edit one of its config files to set the default display backlight levels.

This blog post covers this well.

Disable Touchpad {#disable-touchpad style="text-align: left;"}

T440 is exquipped with a touchpad the size of an airport. Presumably for those who reach computing nirvana through pinching and pulling using multiple appendages simultaneously. Unfortunately I'm not one of them. And I would think neither are most of my fellow developer comrades. We tend to rely more on the inherently flawed QWERTY system to tell the machine what we want it to do. So I felt the best option was to disable the damn thing and rely on the trackpoint (or a decent rodent). Here's how to do it:

$ sudo apt-get update
$ sudo vim /usr/share/X11/xorg.conf.d/50-synaptics.conf

Find the following section in the file and update the two Option lines as per the setting below. This essentially converts the entire touchpad into a giant three button configuration -- left, middle and right.

# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "65% 0 0 4% 40% 65% 0 4%"
        Option "AreaBottomEdge" "1"
EndSection

Here's the official Ubuntu documentation on Synaptics client and the meaning of various configuration options.

One issue with the trackpoint is that scrolling using the middle button doesn't work. I haven't found a hack to fix this, but when I do, I'll update it here.