LENOVO ThinkPad T61 64608NG
NVidia (Quadro NVS 140M), Intel PRO/Wireless 4965AGN

Enabling Trackpoint scrolling
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>

Enabling multi-touch touchpad
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 -->

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

cat > $HOME/ReaderNoMoreHot << "EOF"

# find the fingerprint reader and change its power level to autosuspend
find_prod="Biometric Coprocessor"

for devdir in /sys/class/usbmon/usbmon*/device/usb*/*; do
  [[ -r $devdir/manufacturer ]] || continue
  [[ $manuf = $find_manuf ]] || continue;
  [[ $prod = $find_prod ]] || continue;
  # if we get here then we have the right device!
  # 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

# 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

sudo cp $HOME/ReaderNoMoreHot /etc/init.d/ReaderNoMoreHot
rm $HOME/ReaderNoMoreHot
sudo chmod 755 /etc/init.d/ReaderNoMoreHot
sudo update-rc.d ReaderNoMoreHot defaults 90

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

cat > $HOME/local_conf << "EOF"
# enable thinkpad_ec
options thinkpad_ec force_io=1

# option to correctly set tilting through hdaps sensor
options hdaps invert=1

sudo cp $HOME/local_conf /etc/modprobe.d/local.conf
rm $HOME/local_conf

Tweak battery settings

# Battery charge control features (http://www.thinkwiki.org/wiki/Tp_smapi#Battery_charge_control_features)
echo '40' | sudo tee /sys/devices/platform/smapi/BAT0/start_charge_thresh
echo '70' | sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
cat /sys/devices/platform/smapi/BAT0/*_charge_thresh

Fully tested on Karmic Koala.

Created by viorel-ciucu
2010-03-17 07:07:11

T61 (last edited 2010-03-17 07:12:31 by 62)