Moved my ThinkPad T61 to ArchLinux! (Still using Ubuntu on many other machines.)
Screenshot:
I will post some install script I used to configure my system.
After the latest updates, enabling touchpad on/off key (fn-f8) is now working. There are some annoying gdm random restarts without a trace in the logs. I suspect it’s the nvidia proprietary driver and I hope it will be fixed soon.
Here is a better approach to enable the Active Protection System in your ThinkPad:
1 2 3 4 5 6 7 8 |
# Install HDAPS - IBM Active Protection System Linux Driver 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 |
I just installed Ubuntu 9.10 Beta on my LENOVO ThinkPad T61 64608NG.
Here is what I found so far, in two days of intensive usage:
Quadro NVS 140M – 2D and 3D acceleration: tested and works.
Wireless switch: tested and works.
Sound: tested and works.
Enabling touchpad on/off key (fn-f8): not working.
Enabling Active Protection System: works by installing tp_smapi.
Read the complete guide here.
Fingerprint Reader: install thinkfinger-tools and libpam-thinkfinger from the repository and everything works.
Network Card Intel 10/100/1000: tested and works.
Wireless Intel PRO/4965AG: tested and works.
Card reader: not tested.
UPDATE: Power level of the fingerprint reader is set to on by default, so it gets hot pretty fast. Use one of the scripts here to set it to auto at boot time.
Note that the path /sys/class/usb_*/*/device is no longer working. Instead, use /sys/class/usbmon/usbmon*/device/usb*/*.
Here is the complete script for that, taken from thinkwiki.org and modified to reflect the new path.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#!/bin/bash # find the fingerprint reader and change its power level to autosuspend find_manuf=STMicroelectronics find_prod="Biometric Coprocessor" for devdir in /sys/class/usbmon/usbmon*/device/usb*/*; do [[ -r $devdir/manufacturer ]] || continue manuf=$(<$devdir/manufacturer) [[ $manuf = $find_manuf ]] || continue; prod=$(<$devdir/product) [[ $prod = $find_prod ]] || continue; # if we get here then we have the right device! plevel_file=$devdir/power/level old_level=$(<$plevel_file); # if it is already set properly then exit silently: [[ $old_level = auto ]] && exit 0 # if we successfully change it then exit silently: echo auto >$plevel_file && exit 0 echo "Failed to set the fingerprint reader's power level to 'auto'." exit 1 done # if we make it through the for loop without exiting, the search failed echo "Could not find the $find_manuf $find_prod (fingerprint reader)" exit 1 |
One of the cool features in a Thinkpad is IBM Active Protection System.
The system consist of two parts. The driver that enables reading the acceleration data and some sort of userspace software that does the actual parking of the harddrive heads, usually hdapsd.
The hdaps driver is part of the kernel but the driver maintainers actually recommend using the tp-smapi driver instead. So that’s what we’ll do.
Make sure you have the necessary tools installed:
1 |
sudo aptitude install build-essential module-assistant |
The tp-smapi is in the package repository (universe):
1 |
sudo m-a a-i tp-smapi |
This will fetch and install the tp-smapi-source package, unpack the source and then compile and install the kernel module.
Try loading it:
1 2 |
sudo modprobe tp_smapi sudo modprobe hdaps |
The kernel log should show something like this:
1 2 3 4 5 6 7 8 |
[ 4504.896887] tp_smapi 0.40 loading... [ 4504.897178] tp_smapi successfully loaded (smapi_port=0xb2). [ 4532.702289] hdaps: initial mode latch is 0x05 [ 4532.702442] hdaps: setting ec_rate=250, filter_order=2 [ 4532.702674] hdaps: device successfully initialized. [ 4532.702788] input: ThinkPad HDAPS joystick emulation as /devices/virtual/input/input22 [ 4532.728212] input: ThinkPad HDAPS accelerometer data as /devices/virtual/input/input23 [ 4532.756552] hdaps: driver successfully loaded. |
For some reason some configuration for udev is missing. Fix this by running:
1 |
echo 'KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event"' | sudo tee /etc/udev/rules.d/51-hdaps.rules |
Now for the userspace stuff. First let us test if APS is actually working.
1 |
sudo aptitude install hdaps-utils |
This will install hdaps-pivot or hdaps-gl which you can use to verify that the sensors are working.
You can also test this by running this in your terminal (stop it with pressing CTRL + C):
1 |
sudo hdapsd -d sda -s 15 -a -v -y |
Next we need to update the hdapsd. The one provided in Jaunty is old. There is a PPA with newer versions.
1 2 3 4 |
cat | sudo tee /etc/apt/sources.list.d/hdapsd.list << EOF deb http://ppa.launchpad.net/jonasped/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/jonasped/ppa/ubuntu jaunty main EOF |
Add the PPA key:
1 |
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 45EA2DEACE74152B61554DE4036A90F2BEFC6EB4 |
Update the package list and install the package:
1 2 |
sudo aptitude update sudo aptitude install hdapsd |
Install gnome-hdaps-applet (optional).
There is a PPA for this. You can add it like this:
1 2 3 4 |
cat | sudo tee /etc/apt/sources.list.d/gnome-hdaps-applet.list << EOF deb http://ppa.launchpad.net/whoopie79/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/whoopie79/ppa/ubuntu jaunty main EOF |
Add the key:
1 |
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com e1c344a23bb057ff1d4d80cf8c236986e1ecdbb2 |
Update the package list again and install the packages:
1 2 |
sudo aptitude update sudo aptitude install gnome-hdaps-applet |
Enjoy!
Just installed Ubuntu 8.10 on my T61. Works great!
I hated that bloated Vista Business!
Items that work out of the box:
– Nvidia: 2D works, 3D requires the installation of the proprietary drivers (nVidia Quadro NVS 140)
– Wireless: Atheros card
– Bluetooth keys
– Brightness keys
– Network Card Intel 10/100/1000
– Firewire
– Wireless switch
– 4-in-1 card reader
Worked with some simple tweaking:
– fingerprint reader for login and sudo
1. Install latest thinkfinger packages:
1 |
sudo apt-get install thinkfinger-tools libpam-thinkfinger |
2. Update the pam configuration files:
1 |
sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable |
3. Restart computer
4. Enroll your fingerprint (creates $HOME/.thinkfinger.bir)
1 |
tf-tool --acquire |
5. Check fingerprint enrollment
1 |
tf-tool --verify |