Install Ubuntu Intrepid Ibex on a T61p

From ThinkWiki
Revision as of 18:23, 18 January 2009 by Trampas (Talk | contribs) (Other Problems)
Jump to: navigation, search

What works out of the box?

  • Wireless (Intel 3945ABG or 4965AGN)
    • Only tested G mode
  • Wired LAN
  • Video (VESA)
    • Hardware Drivers panel offers to install nVIDIA proprietary drivers on first boot.
  • Touchpoint and Trackpad
    • Including scroll at the right side of the pad by default.
    • Middle-button scrolling does NOT work (fix below)
  • Optical drive
    • Optiarc AD-7910A works fine with Brasero disc burning
      • Tested: CD-R, DVD+R
  • Sound card
  • SD/MMC Memory card reader (Ricoh)
    • Only tested SD (non-HC) cards.
  • Control buttons/Hotkeys
    • Volume control buttons
    • Screen brightness control
    • Thinklight control
    • WLAN/BT/OFF toggle
    • Media player control
    • fingerprint reader does NOT work (fix below)
  • Some ACPI features
    • Battery status, power graphs and history
    • Lid states and events
    • Only tested with a single 6-cell battery
  • ACPI features
    • Suspend to RAM
    • Suspend to Disk (Hibernate) FINALLY!! Be patient, though.
    • STR and STD work even with full disk encryption (DM-crypt + LVM)!

Getting the hardware to work


Installing the proprietary NVidia drivers is highly recommended, EVEN IF you won't use 3D acceleration, because the open source nv driver will drain your battery much faster since it does not support PowerMizer at all. Practically, this means that the GPU will constantly run at full speed, thus consuming ~12 Watts more than it would otherwise (which is a LOT of power for a laptop).

The first time you boot Ubuntu, you should get an alert asking if you want to install the binary driver. If not, it can be installed from the Hardware Drivers panel at

System --> Administration --> Hardware Drivers.

You will have a choice between the 173 and 177 version of the driver.

  • pro:
    • Version 177 is recommended because it will provide Suspend to disk functionality, whereas v173 will not.
  • con:
    • version 177 causes a log out bug that is addressed below.
    • version 177 might show some issues like terminal output not updating in some very weird cases (which I did not see in v173, this seems to have something to do with powermizer as well ...)
    • version 180 as of 180.22 is known to have issue with suspend. Stay with version 177 until problem is fixed.

Once the proprietary drivers are installed, the "NVidia X Server Settings" program will be available in System --> Administration.

Version 177 logout/X restart fix

There is a known issue in the v177 proprietary NVidia driver - See Launchpad bug 258357. Once you install the v177 driver, logging out or restarting X will cease to work, though suspend to RAM/Disk will continue to function.

The work around is as follows:

  • In /etc/gdm/gdm.conf , increase the value for GdmXserverTimeout to about 60. When logging out or restarting X, X will hang for ~35 seconds. By increasing the value from its default, GDM will give X more time before it assumes X is faulty.

Choppy Compiz animations

NVidia's PowerMizer feature will slow down the GPU when "inactive" even on AC power.

The NVidia driver does not report the correct refresh rate of the display to Compiz, resulting in choppy animations and effects. To fix this, install the compizconfig-settings-manager package, then go to System --> Preferences --> Advanced Desktop Effects Settings (also might be called CompizConfig Settings Manager). Click on General Options, go to the Display Settings tab, uncheck the Detect Refresh rate box and drag the Refresh Rate slider to 60. Also, check the Sync To VBlank box. This will improve the smoothness of the window animations significantly if you're sensitive to the choppy animations.

Compiz animations can also be choppy due to NVidia's PowerMizer feature, which slows down the GPU to conserve power when it is not in use. This works well for 3D games which constantly use 3D acceleration, but poorly for Compiz which uses the GPU in small bursts. It seems that the interval of the PowerMizer is way too long and is not speeding up when using in bursts. Fortunately, the situation seems to have improved in version 177 of the NVidia driver. To workaround this problem, I made a couple of shell scripts which keep the GPU at its highest speed while running on AC power. The first one is named "powermizer-loop" and does most of the work:


while true; do
    powerstate=`cat /proc/acpi/ac_adapter/AC/state | awk '{print $2}'`
    if [ $powerstate = "on-line"  ]; then
       nvidia-settings -q all > /dev/null
    sleep 25;

The second is named "powermizer-off" and starts up powermizer-loop when I log in, ensuring that only one copy runs at a time:


killall powermizer-loop
~/powermizer-loop &

I put both of these scripts in my home directory and made them executable by doing:

chmod a+x powermizer-loop powermizer-off

Then to make powermizer-off run on login, I opened System --> Preferences --> Sessions, clicked on Add, and entered the command to run the script, i.e. "/home/<user>/powermizer-off".

Of course, performance still suffers when running on battery, but hopefully NVidia will fix this problem in a future version of their driver.

EDID misdetection

EDID (Extended Display Identification Data) might be misdetected for your display, which reduces the number of resolutions available in the NVidia X Server Settings application. (For example, I was unable to set my laptop's screen to 1024x768 for use with a projector during a presentation.) If you encounter this problem, add the following lines to /etc/X11/xorg.conf in the "Screen" section:

Option "UseEdidFreqs" "FALSE"
Option "HorizSync" "40-70"

The 40-70 values are just an example. They seem to work well with my 1680x1050 display. You should put the values of your display there. On a 1920x1200 display, making this change prevents the display from coming on when X starts.

A better but more complicated way would be using Phoenix EDID Designer to dump and fix the EDID data and then setup the Nvidia driver so it will use the customized EDID data, as described at [1]

Microphone/Sound In

Might need to be turned on in the mixer. See Install Ubuntu Hardy Heron on a T61p#Internal Microphone/Microphone Input Jack

Front radio kill switch

When killing Wireless LAN with the killswitch at the front, you won't be able to get WLAN back up after switching back. See Launchpad bugs 289286 and 193970 and the Release Notes on the Ubuntu Wiki.

This will be solved in intrepid-updates eventually.

For now there are a few ways to bring the interface back up (choose one):

  • Right click the network manager icon in the tray, uncheck Enable Wireless, then check it again does the trick (at least for me)
  • # ip l s wlan0 up
  • # modprobe -r iwl3945 && modprobe iwl3945
  • reboot
  • suspend and resume

Middle-button Scrolling

Xorg.conf is not used to configure mice and keyboards anymore, but evdev is. This makes the configuration of middle-click scrolling a little bit different than previous versions of Ubuntu.

Michael Vogt described how to get middle-click scrolling to work again in Intrepid.

$ sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

Paste and save the following code, which will give vertical wheel emulation only:

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

There is another method to get horizontal scrolling as well, but this is not confirmed to work.


Fingerprint Reader

The Thinkfinger package allows you to swipe a finger in most places where you would have to type your password. This works with sudo, gksudo and on the login page and with a little fix also for the screen saver. Also, you are still required to type your user name on the login screen.

0) Set up the third party repository (optional but recommended!)

due to this Bug #256429: Carriage-return required after finger scan you need to press the return key after you swipe your finger with the current version of the kernel and the packages in ubuntu. The bug is caused by the fact that it does not recognize the fingerprint reader 100% correctly (Description of the root cause) , as a temporary workaround there is a special package repository.

The packages present in ubuntu intrepid will work but you need to press enter after you swipe your finger.

Click System -> administration -> software sources go to the tab "third-party software" and click Add ...

Enter in the popup window:

deb intrepid main

Click Add source, it will ask to refresh the package list, click reload.

1) Install the following packages:

$ sudo apt-get install thinkfinger-tools libpam-thinkfinger libthinkfinger0

2) For your user:

$ sudo tf-tool --acquire && sudo tf-tool --verify

A completed fingerprint setup should look something like this:

frank@Laptop:~$ sudo tf-tool --acquire && sudo tf-tool --verify

ThinkFinger 0.3 (
Copyright (C) 2006, 2007 Timo Hoenig <>

Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done.
Storing data (/tmp/test.bir)... done.

ThinkFinger 0.3 (
Copyright (C) 2006, 2007 Timo Hoenig <>

Initializing... done.
Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done.
Result: Fingerprint does match.

This will store your fingerprint information in /home/$USERNAME/.thinkfinger.bir

You should do this step for each user who wants to use the fingerprint reader

3) Enable use of reader for authentication:

$ sudo gedit /etc/pam.d/common-auth


auth    sufficient

before the line which contains and add


to the end of the line containing

So it should look something like this:

auth    sufficient            
auth    [success=1 default=ignore] nullok_secure try_first_pass

4) Check uinput kernel module:

$ lsmod | grep uinput If the output starts with uinput, then you're done. If you don't get any output, then it needs to be started and set to start on boot.

Start uinput:

$ sudo modprobe uinput

Start on boot:

$ sudo gedit /etc/modules

make sure there is a line like this or add it at the bottom:


5) Enabling thinkfinger for gnome-screensaver

  • create this file:

$ sudo gedit /etc/udev/rules.d/60-thinkfinger.rules with this contents:

# udev rules file for the thinkfinger fingerprint scanner
# gives access to the fingerprint reader to those in the "fingerprint" group
# Taken from:
# which was taken and modified from:

# 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"
  • Make the group:

$ sudo groupadd fingerprint

  • per user:

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

Reboot your laptop and you should be ready to swipe!


Hard Drive Active Protection System (APS ~ HDAPS)

Please add to this section

Some interesting links:

Other Problems

Resume Disables WLAN

On power up CDMA WLAN module is enabled, if user suspense and resumes it is turned off - no known fix. Additionally fn-F5 turns off bluetooth but no option to turn off WLAN using function keys. This is problem is on the 6459CTO.

Resume Requests WIFI Network Key

On resume Network Manager request the wifi network key several times before connecting to network. This has been noted on a 6459CTO laptop and no known fix is available. Currently with this problem it takes several minutes to regain network access after resume.

Black Screen on Resume

On the 6459CTO with default 8.10 install suspend did not work. Installing the proposed updated fixed the problem. To do this add the following line to /etc/apt/sources.list

deb intrepid-proposed restricted main universe multiverse

Wireless not working after resume (Atheros)

After resuming from suspend, I am unable to reconnect to my wireless network. Network Manager asks me for my password over and over again but never succeeds in connecting. I'm using the Thinkpad (Atheros) A/B/G wireless card.

To fix this problem, I followed the instructions listed at Specifically, I created a file called /etc/pm/config.d/01-modules and put the following line in it:


Brightness control on battery power

By default, when unplugging the AC power while the system is running, the brightness of the display goes down even when you have set not to in the Power Management settings and you are not able to reach a brightness level as high as possible when connected to AC power. This is not a software setting or GNOME bug, but a BIOS setting. In the BIOS you can find a brightness setting in the Power section. Set it to high for normal, expected behavior. You can let the GNOME Power Manager still lower the brightness, but you will be able to increase it when needed.

Software Install

Adobe Flash

Adobe has plug-ins direct for 32 bit version for x64 download the file from here: Then copy to the mozilla plugins directory

sudo cp /usr/lib/firefox-addons/plugins/

Other Information

Saving power

Some nice information on power saving you can find at

A tool that allows you to test most tips and tricks to reduce power is powertop, you can install it using

$ sudo apt-get install powertop

and run it with:

$ sudo powertop

For more information see

Battery control by tp_smapi

You need to load a kernel module first:

sudo modprobe tp_smapi

Now, you will be able to have significantly more control over your battery charging via /sys/devices/platform/smapi.

For example, you could set a threshold value of 90% for charging, preventing the battery from charging all the way in exchange for a reduction in the loss of battery capacity that occurs after multiple cycles.

echo "90" | sudo tee -a /sys/devices/platform/smapi/BAT0/start_charge_thresh

(by default this was set to 86% on my laptop)

View the number of charge cycles your battery has had in its lifetime:

cat /sys/devices/platform/smapi/BAT0/cycle_count

While AC connected, force discharging of your battery:

echo "1" | sudo tee -a /sys/devices/platform/smapi/BAT0/force_discharge

For convenience, you could load the kernel module at boot time by adding it to /etc/modules.

echo "tp_smapi" | sudo tee -a /etc/modules

If you have an Ultrabay battery, you might want to place this script into /etc/crontab to keep the Ultrabay battery from being completely discharged to 0%, which permanently damages the battery.

# rolls to BAT0 when remaining capacity on BAT1 is less than 20%.  Change .2 if wanted.  Swap BAT0 and BAT1 if tp_smapi thinks the ultrabay is BAT0.
awk '{if (/remaining capacity/) left=$3; if (/last full capacity/) full=$4} END {if ((left/full) < .2) system("echo 1 > /sys/devices/platform/smapi/BAT0/force_discharge")}' /proc/acpi/battery/BAT1/*

Remember the script needs root in order to write to the files in /sys/devices/platform/smapi/BAT{0,1}/.

Compared to Hardy (8.04)

Why upgrade your T61p to Intrepid or why not? (Specific for T61p)


  • Ricoh SD card reader now reads read-only SD card. (Tested with Adata 150X 2GB SD card)
  • Newer Wireless LAN drivers. For Intel cards this results in working LED, more sensitive reception, increased stability of connections and some 802.1x bugfixes.
  • Out-of-the-box Suspend to RAM functionality (also faster resume). Not on 6459, (see above)
  • Working but slow Suspend to Disk functionality.

Bugs and Regressions

  • Hard radio killswitch (at the front) cannot bring WLAN back up after killing it. (workaround available)
  • X hangs for approx. 35 seconds when restarting or logging out. (workaround available)
  • Atheros WLAN not working after resume from Suspend to RAM (but a workaround is available; see above).