HOWTO : Ubuntu 8.10 on Lenovo ThinkPad X61

Ubuntu 8.10 work perfectly on Lenovo ThinkPad X61 but except the Fingerprint reader, Active Drive Protection (APS) and Trackpoint middle scroll button.

I am now going to active those outstanding features on X61.

Fingerprint reader
Step 1 :
Add the following line on /etc/apt/sources.list :
deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
sudo apt-get update
sudo apt-get install thinkfinger-tools libpam-thinkfinger libthinkfinger0 hdapsd hdaps-utils

Step 2 :
Execute the following command to scan and store your fingerprint to the system :
sudo tf-tool --acquire && sudo tf-tool --verify

Step 3 :
Edit /etc/pam.d/common-auth and make it looks like this :
....
# here are the per-package modules (the "Primary" block)
auth sufficient pam_thinkfinger.so
auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure
# here's the fallback if no module succeeds
....

Step 4 :
Create /etc/udev/rules.d/60-thinkfinger-rules :
#
# udev rules file for the thinkfinger fingerprint scanner
#
# gives access to the fingerprint reader to those in the "fingerprint" group
#
# Taken from:
# http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger
# which was taken and modified from:
# http://article.gmane.org/gmane.linux.drivers.thinkfinger/329
#

# SGS Thomson Microelectronics Fingerprint Reader
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint"

# the also-needed uinput device
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"

Step 5 :
Make the file /etc/pam.d/gnome-screensaver looks like this :
@include common-auth
auth sufficient pam_thinkfinger.so
auth optional pam_gnome_keyring.so
auth required pam_unix.so try_first_pass nullok_secure

Step 6 :
sudo groupadd fingerprint
sudo gpasswd -a $USERNAME fingerprint && sudo chown $USERNAME:root /home/$USERNAME/.thinkfinger.bir

Step 7 :
To prevent the Fingerprint reader from being over heat :
sudo apt-get install sysfsutils

Add the following line to the file /etc/sysfs.conf :
devices/pci0000\:00/0000\:00\:1a.0/usb1/1-2/power/level = auto

Make sure “uinput” is added to /etc/modules.
Reboot your system and the Fingerprint reader is actived.

Active Drive Protection (APS)
Step 8 :
Compile the module of tp-smapi and other packages :
sudo apt-get install tp-smapi-source build-essential module-assistant
m-a -t a-i tp-smapi

Step 9 :
Add the following lines to the file /etc/modules :
tp_smapi
hdaps

Reboot your system and the Active Protection System (APS) is actived.

Trackpoint middle scroll button
Step 10 :
Create a file /etc/hal/fdi/policy/mouse-wheel.fdi and add the following lines :

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

Reboot your system and the Trackpoint middle scroll button is actived.

Enjoy!

HOWTO : Lenovo Thinkpad scroll button on Ubuntu 8.10

The scroll button on Lenovo Thinkpad cannot work under Ubuntu 8.10 but we can make it to work just create a file. We do it not on the xorg.conf but on HAL.

Step 1 :
Create a new file mouse-wheel.fdi at /etc/hal/fdi/policy :
sudo nano /etc/hal/fdi/policy/mouse-wheel.fdi

Step 2 :
Append the following lines to the file.
<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.YAxsisMapping" type="string">4 5</merge>
<merge key="input.x11_options.XAxsisMapping" type="string">6 7</merge>

<merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>

Step 3 :
Reboot your system and browse the internet with the configured scroll button.

The known issue is that the horizontal scrolling with the scroll button does not work.