Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad T61

From ThinkWiki
Revision as of 04:52, 26 March 2010 by Rubin (Talk | contribs) (How to fix hibernate crash with built-in sdcard mounted)

Jump to: navigation, search
Help needed
We need help testing the remaining hardware

General Information

Ubuntu 9.10 (Karmic Koala) was released on 29 October 2009.

Hardware Support Details


Modem: unknown

FireWire (IEEE1394): works by default unknown

Tested: Worked "out of the box"

Webcam: works

Video 2D/3D

  • NVidia (Quadro NVS 140M): works (needs proprietary driver for hardware acceleration)
  • Intel (GMA X3100): works


  • Intel PRO/Wireless 4965AGN: works
  • Intel PRO/Wireless 3945ABG: works
  • ThinkPad 11a/b/g (Atheros): works with ath5k driver (in upgrade from 9.04, had to add ath5k module to /etc/modules for autoloading). When upgrading from 9.04, the ath5k driver may be blacklisted and hence will not load the driver for the wireless card. To fix this, open /etc/modprobe.d/blacklist-ath_pci.conf in your favorite editor and comment out the line "blacklist ath5k"
  • ThinkPad 11a/b/g/n (Atheros): PRO/Wireless 4965 AG tested and works by default
  • Front switch (airplane mode): works by default

Ethernet (Intel Gigabit): works

Special Keys (volume, Fn-, ThinkVantage):

  • ThinkVantage button: go to System -> Preferences -> Keyboard Shortcuts and assign a task to it.
  • Fn-F5 (Wireless/Bluetooth): works by default
  • Fn-F8 (Enable/Disable touchpad): works by default
  • Fn.F4 (Sleep button) works by default with Ubuntu and proprietary NVidia driver
Help needed
Fn-F4 The sleep button does still does not under Kubuntu Jaunty 9.10. The setup below does not seem to work.
  • Fn-F4 (Sleep button): To get sleep button working create /etc/acpi/events/lenovo-sleep and add the following to it:
event=ibm/hotkey HKEY 00000080 00001004

Touchpad: works

Touchpoint: works but see below for scrolling


  • Suspend: works running the restricted 185 nvidia driver, and on intel
  • Hibernate: works, though not as smoothly as in previous releases
Help needed
Some machines are requiring a double-resume from suspend. If the machine suspends while plugged in then is resumed while unplugged it will go back to sleep and have to be resumed again. Suggestions?

Bluetooth: works by default

DVD Drive

  • Ultrabay Slim Super Multi-Burner Drive : works
  • Ultrabay Slim DVD-ROM Drive: works
  • Ultrabay Slim CD-RW/DVD-ROM Combo II Drive: burning and reading CD's works. Untested on reading DVD

Audio (AD1984 HD): works

  • Headphones: works
  • Microphone: works

Card Reader: works but Ubuntu will not suspend (the screen blanks and it hangs) if a SD card mounted. This didn't happen w/ Jaunty.

Tested: Needed tweaking to obtain full functionality

Enabling Trackpoint scrolling

To get vertical/horizontal scrolling working create /etc/hal/fdi/policy/mouse-wheel.fdi and add the following to it:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <match key="info.product" string="TPPS/2 IBM TrackPoint">
      <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
      <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
      <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
      <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>

You then have to restart either X or GDM. Restarting HAL didn't work for me, a restart did the trick though.

Enabling multi-touch touchpad

To get get the multi-touch on the touchpad working (two-finger scrolling, etc) create /etc/hal/fdi/policy/11-x11-synaptics.fdi and add the following to it:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
   <match key="info.capabilities" contains="input.touchpad">
       <merge key="input.x11_driver" type="string">synaptics</merge>
       <merge key="input.x11_options.SHMConfig" type="string">On</merge>
       <merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">90</merge>
       <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
       <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
       <merge key="input.x11_options.TapButton1" type="string">1</merge>
       <merge key="input.x11_options.TapButton2" type="string">3</merge>  <!--two finger tap -> middle clieck(3) -->
       <merge key="input.x11_options.TapButton3" type="string">2</merge>  <!--three finger tap -> right click(2). almost impossible to click -->

Then restart HAL with:

$ sudo service hal restart

Instructions courtesy of ubuntu snippets.

Help needed
Not working for me.

Enabling the fingerprint reader

Install the thinkfinger-tools and libpam-thinkfinger packages then execute:

$ sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable

to enable the fingerprint reader. To capture the user's fingerprint run:

$ tf-tool --acquire $USERNAME

you can then verify it with:

$ tf-tool --verify

Fix for fingerprint reader getting too hot

Use the last script from here, but note that in Karmic, the correct path is: /sys/class/usbmon/usbmon*/device/usb*/*

Install HDAPS - IBM Active Protection System Linux Driver

To install the Active Protection System execute the following commands:

$ sudo cp /etc/modules /etc/modules_backup

$ sudo aptitude install tp-smapi-source

$ sudo module-assistant prepare tp-smapi

$ sudo module-assistant auto-install tp-smapi

$ sudo modprobe tp-smapi

$ sudo aptitude install hdapsd

$ echo 'tp-smapi' | sudo tee -a /etc/modules

Popping Sound with Intel sound card

You might be hearing a popping sound with an Intel sound card. A temporary solution exists for this known bug.

Open a terminal:

$ sudo nano /etc/modprobe.d/alsa-base.conf

And comment the last line called "options snd-hda-intel power_save=10". Basically, this is how the line should look after editing it:

#options snd-hda-intel power_save=10 power_save_controller=N


Suspend and hibernate work for me unless I have an sdcard mounted in the built-in card reader. To fix, create a file in /etc/pm/sleep.d called 10_unmountdisks. (Make sure its executable) In it put:

case "${1}" in
                for i in `ls /media`; do
                   /usr/bin/gvfs-mount -u "/media/$i"
		# nothing

Tested: Non-functioning