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.
- 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
- 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. Version 177 is recommended because it will provide Suspend to disk functionality, whereas v173 will not. However, 177 causes a log out bug that is addressed below.
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 increased the value from its default, GDM will give X more time before it assumes X is faulty.
Microphone/Sound In
Might need to be turned on in the mixer
Hard Drive Active Protection System (HDAPS)
Please add to this section
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):
# ip l s wlan0 up
# modprobe -r iwl3945 && modprobe iwl3945
- reboot
- suspend and resume
Middle-button Scrolling
Please add to this section
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 auth required pam_unix.so try_first_pass nullok_secure
- 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 above in the comments
- Repository for the third party fix credits to Jon Oberheide
- General page about Fingerprint reader with thinkfinger
- Fingerprint reader with gnome-screensaver section
Other Problems
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.
Logging out or restarting X
See the Display setup section for how to work around this problem.
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.
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"
Other Information
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.
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).