Install Ubuntu Intrepid Ibex on a T61p
Contents
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
- Optiarc AD-7910A works fine with Brasero disc burning
- 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
Display/Video
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 ...)
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. 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:
#!/bin/sh 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 fi sleep 25; done
The second is named "powermizer-off" and starts up powermizer-loop when I log in, ensuring that only one copy runs at a time:
#!/bin/sh 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
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> </match>
There is another method to get horizontal scrolling as well, but this is not confirmed to work.
source:
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 http://ppa.launchpad.net/jon-oberheide/ubuntu 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 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done. Storing data (/tmp/test.bir)... done. ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done. Result: Fingerprint does match. frank@CLaptop:~$
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
add
auth sufficient pam_thinkfinger.so
before the pam_unix.so line and
try_first_pass
to the end of the pam_unix.so line.
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:
uinput
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: # http://www.thinkwiki.org/wiki/Install_Ubuntu_Intrepid_Ibex_on_a_T61p#Fingerprint_Reader # which was taken and modified from: # http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger # 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"
- edit the file:
$ sudo gedit /etc/pam.d/gnome-screensaver
so it looks like this:
@include common-auth auth sufficient pam_thinkfinger.so auth optional pam_gnome_keyring.so
- 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!
Sources:
- Install Ubuntu Gutsy Gibbon on a T61p
- Bug #256429: Carriage-return required after finger scan & Solution for the bug in the comments
- Repository for the third party fix credits to Jon Oberheide
- General page about Fingerprint reader with thinkfinger & Specific gnome-screensaver section
Hard Drive Active Protection System (APS ~ HDAPS)
Please add to this section
Some interesting links:
Other Problems
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 https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules/+bug/275692. Specifically, I created a file called /etc/pm/config.d/01-modules and put the following line in it:
SUSPEND_MODULES="ath_pci"
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.
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 http://www.lesswatts.org/projects/powertop/
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 (this should help against the loss of capacity through charging cycles). This functionality is similar to Windows Vista power management nowadays.
echo "90" | sudo tee -a /sys/devices/platform/smapi/BAT0/start_charge_thresh
(by default this was set to 86% on my laptop)
WARNING: before this entry said to use 90% for stop_charge_thresh, but this seems to have the adverse effect, that your battery only charges up to 90%!
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
Compared to Hardy (8.04)
Why upgrade your T61p to Intrepid or why not? (Specific for T61p)
Improvements
- 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).
- 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).