Installing Ubuntu 10.04 (Lucid Lynx) on a ThinkPad Z61m

From ThinkWiki
Revision as of 20:02, 6 May 2010 by Bombenbach (Talk | contribs) (Configure Trackpoint and Touchpad)
Jump to: navigation, search

Installing from USB stick

If you already use Ubuntu 9.10 Karmic, installing Ubuntu 10.04 from USB stick is very easy. Just download the latest ISO, plug the USB stick in and run System-->Administration-->Create a USB startup disk. Load the downloaded ISO and hit "Make Startup Disk". For more information check this page. After that reboot your Thinkpad and press F12. This will allow you to boot from USB stick and start the installation routine.

Tested Configuration

Hardware Support

Device / Function Works? Comment
Suspend & Hibernate yes out of the box
Intel GMA950 2D and 3D yes out of the box
Intel 3945ABG WiFi yes out of the box
Bluetooth yes out of the box
Broadcom Gigabit Ethernet yes out of the box
DVD±RW Burner yes out of the box
Ultrabay Hotswapping partial hotswapping optical drives (like DVD±RW) works out of the box, for HDD hotswapping look here
Hard Drive Active Protection System yes must be activated and configured. See below
Intel HDA Sound yes out of the box, modem must be enabled in BIOS
PCMCIA yes out of the box
Express Card unknown not tested
Firewire unknown not tested
USB yes out of the box
IRDA unknown not tested
Docking unknown not tested
Fingerprint Reader yes works with UPEK's proprietary driver. See bellow
VGA out yes out of the box
S-Video out partial a 100HZ Sony TV was recognized as a 30HZ TV, poor picture
Modem unknown not tested
Microphone yes both internal and external mics work out of the box, but are muted by default. See bellow
Headphones yes out of the box
Touchpad yes out of the box
Trackpoint yes out of the box, to enable middle button scrolling see bellow
Multimedia Card Reader yes? works out of the box with all kinds of SD cards. No other cards have been tested
FnFx, FnPageUp, FnHome, FnEnd yes out of the box, except of FnF9 and FnSpace
FnUp, FnDown, FnLeft, FnRight partial depends on the player, works out of the box with Rhytmbox but not Audacious. Thus, needs additional configuration
ThinkVantage yes does nothing by default, but can be easily mapped to something useful. See bellow
Volume up, Volume down, Volume mute partial the volume buttons work but don't affect the software (Pulse Audio) mixer. See bellow
Back and Forward keys (near the arrow keys) yes out of the box

HOWTOS

Setup the Middle Button Scrolling

Start a terminal and run

sudo gedit /usr/lib/X11/xorg.conf.d/20-trackpoint.conf

paste this

Section "InputClass"
    Identifier      "Trackpoint"
    MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option          "EmulateWheel" "true"
    Option          "EmulateWheelButton" "2"
    Option          "EmulateWheelTimeout" "200" 
    Option	    "Emulate3Buttons"	"false"
    Option          "YAxisMapping" "4 5"
    Option          "XAxisMapping" "6 7"
EndSection

and save. Reboot.

Configure Trackpoint and Touchpad

The most convenient way to do this is to install GPointing Device Settings via

sudo apt-get install gpointing-device-settings

After that you will find it in System -> Preferences -> Pointing Devices

Screenshot-GPointing Device Settings-TrackPoint.png

GPointing Device Settings, however, can't configure such important Trackpoint settings as sensitivity, speed and press to select. To do this, open a terminal, run

sudo apt-get install sysfsutils
sudo gedit /etc/rc.local

paste

for i in 1 2 3
do
 if [ -d /sys/devices/platform/i8042/serio1/serio$i ]; then
  echo -n 200 > /sys/devices/platform/i8042/serio1/serio$i/speed
  echo -n 150 > /sys/devices/platform/i8042/serio1/serio$i/sensitivity
  echo -n 1 > /sys/devices/platform/i8042/serio1/serio$i/press_to_select
 fi
done

before

exit 0

and save. This will set sensitivity to 200, speed to 150 and activate press to select. Replacing "echo -n 1" by "echo -n 0" in the file will deactivate press to select. To find the right speed and sensitivity values, you should do some tests before by issuing

echo -n 200 | sudo tee /sys/devices/platform/i8042/serio1/serio?/sensitivity
echo -n 150 | sudo tee /sys/devices/platform/i8042/serio1/serio?/speed

in the terminal and using different numerical values between 0 and 255. The default values are 128 for sensitivity and 97 for speed.

Workaround for the Volume Buttons

Volume buttons work but don't control software mixer settings. Thus you effectively get two volume scales completely independent from each other: Ubuntu's software mixer and Z61m's hardware mixer. That's confusing and inconvenient but as of 2010-05-05 (see Bug #357673) still unfixed. A simple workaround is to set hardware volume control to an acceptable level and not to use those volume buttons afterwards. Instead, you can use the software mixer only. It's easy to configure WinF1 and WinF2 which are not used in Ubuntu by default to act as volume buttons for the software mixer. To do this go to System -> Preferenced -> Keyboard shortcuts, click on "Volume Down" and press WinF1. Now click on "Volume Up" and press WinF2. If you also need mute, you can define Win1 for that. The changes will be applied immediately.

Screenshot-Keyboard Shortcuts.png

Map ThinkVantage Button

ThinkVantage Button is recognized but is not mapped to any function so that pressing it does nothing. To change this go to System->Preferences-> Keyboard shortcuts. There you can look for some predefined actions ThinkVantage Button might do for you. To map the button to a certain action simply click on the action and press ThinkVantage. Via Add you can also add your own commands, for instance to start your browser or e-mail client.

Setup External Monitor or Beamer (VGA)

Connect your monitor/beamer to VGA port and go to System -> Preferences -> Monitors. For quick access to those settings it might be useful to activate "Show monitors in panel".

Lucid ext Monitor new.png

You can also use this to configure an external device connected to S-Video Out.

Z61m svideo.JPG

Setup Fingerprint Reader

The common open source solution ThinkFinger doesn't work properly with Lucid (see Bug #543540 and Bug #256429). There's also fprint out there, but it has a nasty bug concerning invisible GKSU windows (see Bug #347778). Thus, as of 2010-05-03 the easiest way to get fingerprint reader working on a Z61m is to use UPEK's proprietary driver. First you must get a deb-package called ps-for-linux-0.1.deb from here http://www.upek.com/support/downloads/linux/. Install the package and go to System -> Administration -> Fingerprint Enrollment to register you fingerprint(s). Reboot.

Fingerprint Enrollment new.png

The only nasty thing about this driver is that you always must press Enter after scanning your fingerprint. Apart from that it works fine for GDM (login), gksudo and sudo.

Setup Hard Drive Active Protection System

Open a terminal and run

sudo apt-get install tp-smapi-dkms
sudo apt-get install python python-gtk2 python-gnome2 hdapsd

Now run

sudo gedit /etc/modules

and add

tp_smapi 

to the very end of the file so that it looks like this (example)

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
tp_smapi

Reboot. Now HDAPS should work. If you want to have a HDAPS icon in your notification area like in Windows, follow these steps to install ThinkHDAPS

Download https://launchpad.net/~andypiperuk/+archive/andypiper-ppa/+files/thinkhdaps_0.2.1-1_all.deb and put it into your home directory. Right click on the file and select "Extract Here". In terminal run

cd ~
cd thinkhdaps_0.2.1-1_all
sudo cp
tar -zxvf data.tar.gz 
sudo cp usr/bin/thinkhdaps /usr/bin/
sudo chmod +x /usr/bin/thinkhdaps
sudo cp usr/share/pixmaps/* /usr/share/pixmaps/

Now you can run

thinkhdaps &

to make the ThinkHDAPS icon appear in the notification area

ThinkHDAPS.png

To make it autostart go to System -> Preferences -> Startup Applications, select the "Startup Programms" tab, click Add and add this

Name: thinkhdaps
Command: thinkhdaps

Click Add and then Close. Now the ThinkHDAPS icon should be always visible in the notification area.

Power Management

Fix the hard drive clicking bug

If you don't know what the hard drive clicking bug is, read this. Although this bug was apparently fixed in Ubuntu Karmic, Lucid seems to be affected.

ATTENTION!
Here is a solution that worked for me. It's a bit dirty and turns off the power management of your HDD. This will slightly decrease your battery life but greatly improve your drive's lifetime.
Hint:
If you have a better solution, be sure to share it here

To fix the bug open a terminal and run

sudo cp /usr/lib/pm-utils/power.d/95hdparm-apm /etc/pm/power.d/
sudo gedit /etc/pm/power.d/95hdparm-apm

Insert "hdparm -B 254 /dev/sda" after "resume_hdparm_apm" so that the appropriate section looks like this

case "$1" in
	thaw|resume|true|false) # true and false for power.d
                resume_hdparm_apm
                hdparm -B 254 /dev/sda
                ;;
           *)
                exit 254
                ;;
                esac

To test the fix try suspending/resuming and plugging/unpluging AC power. After each process run

sudo hdparm -B /dev/sda

hdparm should always report

/dev/sda:
 APM_level	= 254

Setup Fan Control

ATTENTION!
Wrong fan control settings may seriously damage you Thinkpad. You do it on your own risk!

To override BIOS fan control you can install ThinkPad Fan Control. Go to System -> Administration -> Synaptic Package Manager. Switch to the "Third Party Software" tab and click on "Add". As APT line add this

deb http://ppa.launchpad.net/tp-fan/ppa/ubuntu jaunty main

Click "Add Source" then "Close" and finally "Reload" as suggested. Now use "Synaptic Package Manager" to install following packages

tpfand tpfan-admin tpfand-profiles

Go to System -> Administration -> ThinkPad Fan Control and click on "Unlock". Select "Control system fan by software" and you're done.

It's also possible to define your own fan control rules thus overriding the default settings. To do this select "Manually configure system fan trigger temperatures". Here is an example for a Z61m with Core2Duo T5500 and GMA 950. Models with discrete graphics (like FireGL) will probably need lower threshholds as they usually produce more heat and thus require better cooling.

Screenshot-ThinkPad Fan Control Configuration.png

Configure Battery Charge Control

In a terminal run

sudo apt-get install sysfsutils
sudo apt-get install tp-smapi-dkms

Now run

sudo gedit /etc/modules

and add

tp_smapi 

to the very end of the file. Run

sudo gedit /etc/sysfs.conf

and add

devices/platform/smapi/BAT0/start_charge_thresh=85
devices/platform/smapi/BAT0/stop_charge_thresh=96

to the very end of the file. Save and reboot. With this values your battery will start charging at 80% and stop charging at 96%. Of course you can also put other values between 1 and 100.

To check the current thresholds run

cat /sys/devices/platform/smapi/BAT0/start_charge_thresh

and

cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh


External Sources

  • [1] Trackpoint Configuration