Installing Ubuntu 9.10 (Karmic Koala) on a ThinkPad T61
Contents
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
- 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
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