Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad T61

From ThinkWiki
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

Untested

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

WiFi

  • 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
action=/etc/acpi/sleep.sh

Touchpad: works

Touchpoint: works but see below for scrolling

ACPI

  • 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">
  <device>
    <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>
    </match>
  </device>
</deviceinfo>

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">
 <device>
   <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 -->
   </match>
 </device>
</deviceinfo>

Then restart HAL with:

$ sudo service hal restart

Instructions courtesy of ubuntu snippets.

This will only work if your touchpad has multitouch capabilities (some of of the T6x series do not appear to have these capabilities). To check, check Xorg.0.log for the line "(II) SynPS/2 Synaptics TouchPad: buttons: left right middle". If this line includes double and/or triple, your touchpad supports multitouch. You can run:

$ synclient -m 100

Look in the column marked f and put different combinations of fingers on the touchpad. If the number shows more than zero or one, multitouch is working.

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

Hibernate

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:

#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "${1}" in
        suspend|hibernate) 
                for i in `ls /media`; do
                   /usr/bin/gvfs-mount -u "/media/$i"
                done
                ;;
        resume|thaw)
		# nothing
                ;;
esac

Tested: Non-functioning