Difference between revisions of "Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61"

From ThinkWiki
Jump to: navigation, search
m (Accelerated Video and Desktop Effects)
(Modem)
 
(167 intermediate revisions by 45 users not shown)
Line 1: Line 1:
 +
==Introduction==
 +
 +
This document outlines configuring Ubuntu 7.10 (Gutsy Gibbon) on your Thinkpad T61.  Most items will work out of the box and a base  install should provide you with a completely working system.  Due to the modular nature of the T61 there are many different configuration, please read carefully and only make the changes specific to your system. 
 +
 +
Feel free to update this Wiki with your information however please ask questions on the Talk page.
 +
 
==Installation Notes ==
 
==Installation Notes ==
  
If booting with the default options gives you a blank screen you should select the "Safe Graphics" menu choice when booting from the live CD.
+
*If booting with the live CD gives you a blank screen you should select the "Safe Graphics" menu choice.
 
 
If you are doing a text mode install such as PXE/network then your screen will be corrupted during the process.  Workaround and details
 
are at https://bugs.launchpad.net/ubuntu/+source/xresprobe/+bug/127008
 
  
 
== Display/Video ==
 
== Display/Video ==
Line 11: Line 14:
 
'''Intel''' 2D and 3D accelerated video work out of the box.
 
'''Intel''' 2D and 3D accelerated video work out of the box.
  
As of September 19, compiz is disabled on the intel video cards. To fix edit /usr/bin/compiz and around line 46 comment this portion out:
+
Due to [https://bugs.launchpad.net/xorg-server/+bug/111257 | bug 111257], compiz is disabled on the Intel i965 based video cards. All systems updated after 11/24/2007 should be fixed.
  
<nowiki>#T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12"  # intel 965</nowiki>
+
'''Nvidia''' 2D video works out of the box, to enable accelerated 3D support click System->Administration->Restricted Drivers Manager  {{NOTE| If the Restricted Drivers Manager fails to install the driver you can use the Envy tool from: http://albertomilone.com/nvidia_scripts1.html.  This tool is unsupported and the only supported method of installing the Nvidia drivers is via Synaptics and the Restricted Drivers Manager}}
  
This edit will need to be reapplied every time compiz is updated.  A more permanent method is create a script named compiz.sh with the following in it:
+
===Multiple Monitors===
#!/bin/sh
 
SKIP_CHECKS=yes compiz --replace
 
Then, make it executable by right-clicking the file, selecting Properties, then selecting Permissions, and checking the Allow executing file as program.
 
  
Double-click on the script and select Run to start compiz. To start it at boot...
+
If you previously used Xinerama this is no longer a supported option, you should use one of the tools described below to configure dual displays.
chmod +x compiz.sh
 
Click Ok and Close.
 
  
If it doesn't work, Control + Alt + Backspace to restart X and it should be working.
+
====Nvidia N140m:====
  
'''Nvidia''' 2D video works out of the box, to enable accelerated 3D support click System->Administration->Restricted Drivers Manager
+
When using the default drivers (The open source "nv" drivers) you can use Administration->"Screens and Graphics" to setup the second monitor
 
 
Desktop Effects may be unstable with the proprietary driver installed by the Restricted Drivers Manager, installing version 100.14.19 as described below should resolve the problem.  If you would rather stay with the version that ships with Ubuntu you can disable compiz by going to System -> Preferences -> Appearance -> Desktop effects and turn desktop effects off.
 
 
 
===Installing Nvidia drivers manually===
 
 
 
{{WARN| Installing the drivers via Synaptic or the Restricted Drivers Manager are the only supported methods of installing the Nvidia driver, the method below (while it works for most people) is not supported}}
 
  
Download the drivers from http://www.nvidia.com/object/linux_display_ia32_100.14.19.html and save it to your Desktop.
+
Using the proprietary drivers you must use the Nvidia tool located at Applications->System Tools-> Nvidia X Server Settings.
Exit to a virtual terminal by pressing [CTRL]+[ALT]+[F2]
 
  
Stop the X server:
+
Note:
 +
Twinview 'works' but doing anything with Twinview in fullscreen mode will cause it to span both monitors instead of just being on the second. This essencially kills the functionality of Twinview.
  
$ sudo /etc/init.d/gdm stop (stopping the X server)
+
eg 1 --> you are an office working bringing your notebook to work to show a presentation but you can't use full screen.
  
Remove nvidia-glx-new
+
eg 2 --> you want take your notebook to a friends house to watch a movie on his/her projector and fullscreen mode gets half displayed on the projector and half on the notebook monitor.
  
$ sudo apt-get remove nvidia-glx-new
+
To resolve the full screen issue:
  
Install the drivers:
+
After setting up Twinview with the second monitor save the configuration to your x config file, then restart x.  Log in again and now when you fullscreen it will only span the one monitor that the window is in not both.  The other screen will be available for other use.  You can drag between windows and then fullscreen to fill only the monitor you are in.  Tested on T61 using Ubuntu 7.10 with gMPlayer in full screen mode and  open office impressions slide show. (Movies and Presentations)
  
$ sh NVIDIA-Linux-x86-100.14.19-pkg1.run (depending on the version that will be online)
 
  
Follow instructions in the installer, when complete restart the X-Server with:
+
If you experience problems getting a working Twinview setup using nvidia-settings, please see [http://www.nvnews.net/vbulletin/showthread.php?t=101780 this thread]
  
$ sudo /etc/init.d/gdm restart (restarting the X server)
+
==== Intel GM965/GL960 ====
 +
If you experience a blank screen and perpetual gui reset when using heavy GLX (3D) applications such as scorched3d, try upgrading to the hardy 2.6.24-3 kernel along with the matching modules:
  
{{NOTE| If you have an issue with Gnome or KDE crashing please see [https://bugs.launchpad.net/bugs/98641 this bug report] or search the ubuntuforums for some solutions}}
+
add these 2 lines to /etc/apt/sources.list:
 +
deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
 +
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy restricted main multiverse universe
 +
run:
 +
  sudo apt-get update
 +
  sudo apt-get install linux-restricted-modules-2.6.24-3-generic linux-image-2.6.24-3-generic linux-ubuntu-modules-2.6.24-3-generic
  
===Multiple Monitors===
+
Comment out the 2 new lines from sources.list (put a # in front) and run apt-get update again.
  
'''Nvidia N140m:'''
+
reboot.
  
When using the default drivers (The open source "nv" drivers) you can use Administration->"Screens and Graphics" to setup the second monitor
+
IMPORTANT: You must comment out the lines from sources.list and run apt-get update again, or you will auto-upgrade to hardy which you do not want to do yet!
  
Using the proprietary drivers you must use the Nvidia tool located at Applications->System Tools-> Nvidia X Server Settings.  
+
NOTE: the 2.6.24 kernel uses the new fully open iwl3945 driver for wifi, instead of the old restricted ipw3945. you may need to tweak your wifi settings after rebooting.
  
It has been reported that the NVIDIA drivers tend to crash with xinerama enabled.  2 displays with xinerama off has been stable.
+
====Intel X3100====
  
 +
Plugging in an external monitor works, but is a clone of the built-in LCD by default.  Using the Screens and Graphics tool located under Administration you can setup the second monitor as an extension of the existing screen or a clone for presentations, but it does not let you enable a second display on a second monitor.
  
'''Intel X3100:'''
+
'''Setting up dual monitors via the command line'''
  
Plugging in an external monitor works, but is a clone of the built-in LCD by default.  Following the instructions on [http://www.thinkwiki.org/wiki/Intel_Graphics_Media_Accelerator_X3100 this page] to extend your desktop to the second monitor does *not* work; it results in the crash described [http://lists.freedesktop.org/archives/xorg/2007-April/023326.html here].  According to [http://lists.freedesktop.org/archives/xorg/2007-April/023335.html this post] and [https://bugs.freedesktop.org/show_bug.cgi?id=10706 this bug report], the problem is a new Xinerama implementation and an old config file. 
+
If you like doing it via the command line and are using the Intel drivers or the open-source "nv" driver you can use this example (''Note all this should be possible using the Screens and Graphics tool so only make this change if you prefer the command line method''):
  
To extend your desktop to the second monitor, you'll want to do what [http://wiki.debian.org/XStrikeForce/ReleaseNotes this page] suggests (under "Dual-Head config breakage with xserver-xorg-video-intel").
+
This is an example for a 1680x1050 built-in LCD and a 1600x1200 external LCD:
 +
Add a "Virtual 3280 1200" line in the Display SubSection of the Screen Section in your xorg.conf:
  
Below is an example for a 1680x1050 built-in LCD and a 1600x1200 external LCD:
+
Go to Applications -> Accessories -> Terminal and type the following:
Add a "Virtual 3280 1200" line in the Display SubSection of the Screen Section in your xorg.conf:
 
{{Fixme|If someone could include an example of the change described above it would be greatly appreciated}}
 
Exit to a virtual terminal (press: ctrl-alt-F1), login and type the following:
 
  
{{cmdroot|sudo /etc/init.d/gdm stop}}
+
{{cmdroot|sudo /etc/init.d/gdm stop}}
  
{{cmdroot|xrandr --output LVDS --auto}}
+
{{cmdroot|xrandr --output LVDS --auto}}
  
 
To set the built-in LCD to ouput 1680x1050
 
To set the built-in LCD to ouput 1680x1050
  
{{cmdroot|xrandr --output VGA --right-of LVDS}}
+
{{cmdroot|xrandr --output VGA --right-of LVDS}}
  
 
To extend the desktop
 
To extend the desktop
 +
 +
To enable Compiz Fusion. refer to http://temporaryland.wordpress.com/2007/12/06/finding-the-right-distro-for-my-thinkpad-followup/ and follow the instructions as per for Linux Mint 4.0.
  
 
=== Fonts on High-Res Screens ===
 
=== Fonts on High-Res Screens ===
  
On high-res screens (e.g. 15" 1680x1050), the default fonts are too big ([https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/99145 Launchpad bug report]). You can fix this by following these steps:
+
On high-res screens (e.g. 15" 1680x1050), some users consider the default fonts too be too large ([https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/99145 Launchpad bug report]). You can fix this by following these steps:
  
 
# Open System->Preferences->Appearance
 
# Open System->Preferences->Appearance
Line 107: Line 105:
  
 
=== Brightness ===
 
=== Brightness ===
'''Intel X3100:'''
+
====Intel X3100:====
The brightness controls do work not out of the box, but they should work once you apply all of the system updates.
+
The brightness controls should work out of the box on a fresh install.
  
However, there now appears to be a bug where the brightness controls stop working after you resume from a suspend.
+
====Nvidia Quadro N140 and 570M:====
 +
With Nvidia Driver 169.07 (2007/12/20) the brightness controls work properly on a Thinkpad T61 with Nvidia Quadro NVS 140M.  Please see the section above on installing drivers with the Envy tool above.
  
Until the brightness bugs are finally worked out, you can install "xbacklight" (Applications -> Accessories -> Terminal, type "sudo apt-get install xbacklight" without the quotation marks and hit enter), which allows you to set the brightness from the command line and provides a greater range of brightness values.
+
Previous Driver:
 +
The brightness controls do not work out of the box, however you can switch to a virtual terminal (ctrl+alt+F1) increase or decrease the brightness and then switch back to X (ctrl+alt+F7) without disrupting the running applications (You should save anything open just to be safe). There is a new from nvidia that fixes the brightness-controls.  To install this driver use the Envy tool described above.
  
To set brightness, go back to the terminal and type "xbacklight --set VALUE" where VALUE is a number from 0 to 100 for how bright you want your display to be.
+
If brightness buttons do not work (after installing the latest nvidia drivers) you can edit /etc/acpi/thinkpad-brightness-up.sh and /etc/acpi/thinkpad-brightness-down.sh:
  
'''Nvidia Quadro N140:'''
+
Add this line before "exit" in {{path|/etc/acpi/thinkpad-brightness-up.sh}}
The brightness controls do not work, however you can switch to a virtual terminal (ctrl+alt+F1) increase or decrease the brightness and then switch back to X (ctrl+alt+F7) without disrupting the running applications
+
    echo 4 > /proc/acpi/ibm/cmos
  
'''NVIDIA Quadro 570M:'''
+
Also insert this line before "exit" in {{path|/etc/acpi/thinkpad-brightness-down.sh}}
Brightness controls do not work out of the box.  As in the N140 case, changing brightness in tty1, then switching back does work.  At present my system does have keybindings for the brightness controls -- I enabled them somehow -- but there are problems with it. At present I have 2 displays running, and the brightness buttons do not work in this configuration.  If I disable the 2nd monitor, the brightness buttons work fine. I will document this fully once I sort out the details. [[User:Rybu|Rybu]]
+
    echo 5 > /proc/acpi/ibm/cmos
  
 
== Audio ==
 
== Audio ==
  
Audio does not work out of the box, but will work once you apply all the updates.
+
=== Inextricably Linked to the Modem ===
 
+
Make sure that you have the modem enabled in the BIOS.  If it is disabled, you may discover that your audio is also disabled.  In this situation, your drivers may still load, but you will get an error message whenever you try to play audio.
Microphone may not work with applications (like sound recorder and skype) even though sound can be heard through the speakers or headphones.
 
  
===Enabling Sound and Fixing the Volume Controls===
+
===Enabling Audio controls===
  
By default, the sound may be disabled and the volume control buttons on the laptop (up by the ThinkVantage button) and the volume control applet (up by the clock) will not control the speaker volume (they actually control the microphone!). https://bugs.launchpad.net/ubuntu/+bug/136287
+
By default, the sound may be disabled and the volume control buttons on the laptop (up by the ThinkVantage button) and the volume control applet (up by the clock) will not control the speaker volume (they actually control the microphone). To fix this:
this bug report links to a fixed version from an Ubuntu dev a fixed version is available
 
To fix this:
 
  
 
# Right-click on the volume control applet (by the clock) and select "Open Volume Control"
 
# Right-click on the volume control applet (by the clock) and select "Open Volume Control"
Line 146: Line 143:
 
You should now hear sound and be able to control the volume using the laptop buttons or volume applet.
 
You should now hear sound and be able to control the volume using the laptop buttons or volume applet.
  
NOTE: As of Sep 20, 2007 the latest updates hoses the sound on my T61. FIXED: For some reason you have to physically hit your volume buttons on the laptop up or down to get the sound to run again and not on the rollbar or on any other volume control method (i.e. keyboard).
+
A recent BIOS update [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-67989] fixes the mute button, you can then configure it to mute/unmute audio in Keyboard Shortcuts.
  
== Intel Wireless ==
+
===Microphone===
 +
The internal microphone is considered a generic capture source and is muted by default.  To unmute the microphone:
  
Intel 4965 users will find that they have a very unstable connection with random disconnects within 30 to 60 minutes of association.  The issue is described in [https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/138873 this] bug report.  The problem is with wpa_Supplicant and Kees Cook (An Ubuntu Developer) has posted a fixed version [http://ppa.launchpad.net/keescook/ubuntu/pool/main/w/wpasupplicant/ here].  The fix should be available via a normal update soon.
+
*Right Click on the volume icon next to the clock and click on "Open Volume Control"
  
== Modem ==
+
*Click Edit -> Preferences.  A list of devices will be displayed, you should check the following (Do not uncheck any existing items):
 +
      Internal Mic
 +
      Input Source
 +
      Capture
 +
 
 +
*Click Close and there should be two additional tabs "Recording" and "Options".  -
 +
 
 +
*Click Recording and click on the microphone under the Capture slider so that it no longer has a red line through it. 
  
The modem works with the Linuxant drivers available at http://www.linuxant.com
+
*Click Options and under capture source select internal mic (This step may not be necessary).
  
==Bluetooth==
+
To test your mic using Sound Recorder select Capture as the sound source.
  
To enable bluetooth you must have the thinkpad-acpi modules loaded:
+
This solution has been tested with Sound Recorder, Akiga, Skype, and OpenWengo.
  
{{cmdroot|sudo modprobe thinkpad-acpi}}
+
===Sound Cracking===
  
Then su to root (sudo doesn't work unless you put these commands into a script) to enable the root account so you can use su see [[http://ubuntuguide.org/wiki/Ubuntu:Feisty#How_to_set.2Fchange.2Fenable_root_user_password| This link]].
+
There have been intermittent reports of users experiencing cracking when listening to audio.  Here are a few possible solutions:
  
{{cmdroot|su }}
+
* Try to switch to the OSS driver in system => preference => sound => devices => Music and movies, select OSS - Open sound system (instead of ALSA)
  
To enable bluetooth:
+
* If this issue is only occurring for Rhythmbox go to Edit > Preferences > Playback > and Check "Use Crossfading Backend".  Restart Rhythmbox and you should have better audio quality.
  
{{cmdroot|echo enable > /proc/acpi/ibm/bluetooth}}
+
* Check that the microphone is muted and modify your mixer settings by moving items like PCM down halfway and see if the cracking goes away.
  
To disable bluetooth:
+
===Hissing===
 +
Some users experience hissing during playback, and even when idle.  To solve this mute the microphone when it is not in use:
  
{{cmdroot|echo disable > /proc/acpi/ibm/bluetooth}}
+
# Run "alsamixer" in the terminal.
 +
# Arrow over to "Mic", and hit "M" to mute.
 +
# Arrow over to the first "Docking", and hit "M" to mute.
 +
# Arrow to the first "Internal", and hit "M" to mute.
  
 +
Now, make sure that "Headphone" and/or "Speaker" are _not_ muted, and that "PCM" is at a reasonable level (say ~70) so you don't make your ears bleed, and try playing something back.  ''(<Esc> will exit alsamixer)''
  
 +
== Modem ==
  
If you would like to set the keybindings put those commands into scripts such as:
+
The modem works with the Linuxant drivers available at http://www.linuxant.com
  
{{cmdroot|sudo gedit /usr/bin/enablebt}}
+
This does not work in the 64 bit version of ubuntu.
  
Enter the following:
+
==Bluetooth==
echo enable > /proc/acpi/ibm/bluetooth
+
Bluetooth works out of the box. Pressing Fn-F5 once will enable bluetooth, disable wireless, pressing again, enable both and pressing one more time will disable bluetooth
  
Close/Save the file and mark it executable
+
If you would like to set bluetooth state independently the script below determines the current bluetooth state and toggles the device on or off.
{{cmdroot|sudo chmod +x /usr/bin/enablebt}}
 
  
{{cmdroot|sudo gedit /usr/bin/disablebt}}
+
First create a new file named bluetooth-toggle:
 +
{{cmdroot|sudo touch /usr/sbin/bluetooth-toggle}}
  
enter the following
+
Now open a editor:
 +
{{cmdroot|sudo gedit /usr/sbin/bluetooth-toggle}}
  
echo disable > /proc/acpi/ibm/bluetooth
+
Paste the following script:
Close/Save the file and mark it executable
 
{{cmdroot|sudo chmod +x /usr/bin/disablebt}}
 
  
Modify sudoers to permit those scripts to run as root (Possible security risk)
+
#!/bin/bash
 +
cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;
 +
  do
 +
    if [ $line == "enabled" ]; then
 +
        echo disable > /proc/acpi/ibm/bluetooth
 +
    else
 +
        echo enable > /proc/acpi/ibm/bluetooth
 +
    fi
 +
    break
 +
  done
  
{{cmdroot|sudo visudo}}
+
Now set the execute permissions:
 +
{{cmdroot|sudo chmod +x /usr/sbin/bluetooth-toggle}}
  
Enter the following under the section "# User privilege specification" replacing enter_your_username_here with your username
+
You can invoke the script out of the console by typing sudo bluetooth-toggle or create a menu icon by using the menu editor under preferences using gksudo bluetooth-toggle as command line.
  
enter_your_username_here ALL= NOPASSWD: /usr/bin/enablebt
+
<thinkwiki></thinkwiki>
enter_your_username_here ALL= NOPASSWD: /usr/bin/disablebt
+
== Fingerprint Reader ==
  
Note: I need to lookup the keycodes to create the shortcuts, so this section is a work in progress.
+
The reader works with ThinkFinger. General instructions available [http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader here] and [https://wiki.ubuntu.com/ThinkFinger here].
 +
Instructions in French available at http://doc.ubuntu-fr.org/materiel/thinkfinger
  
: A comment - I've tried finding the keycode using all the methods mentioned here [https://wiki.ubuntu.com/LaptopTestingTeam/HotkeyResearch] but the three methods "keyboard shortcuts", "showkey" and "tail" give me nothing.  Fn-F8 does produce an acpi event, maybe that would be a good alternative. "ibm/hotkey HKEY 00000080 00001008".  On my computer that's already set-up to run the script /etc/acpi/thinkpad-stretchortouchpad.sh.  So I might just turn that into a bluetooth trigger instead as I have no interest in turning keys into a number-pad (which I think is what thinkpad-stretchortouchpad.sh tries to do, but fails on my system).
+
Note that ThinkFinger in it's current version does not work with KDE and Kubuntu in any way (it crashes KDM and is not integrated at all).
  
== Fingerprint Reader ==
+
Prebuilt packages are available from jldugger using Launchpad's PPA:
 +
 
 +
Add the thinkfinger package repository by creating {{path|/etc/apt/sources.list.d/thinkfinger.list}} with these two lines:
 +
 
 +
deb    http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
 +
deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
 +
 
 +
Then update the package database and install packages:
 +
 
 +
{{cmduser|sudo apt-get update}}
 +
{{cmduser|sudo apt-get install libpam-thinkfinger libthinkfinger-dev libthinkfinger-doc libthinkfinger0 thinkfinger-tools}}
  
The reader works with ThinkFinger. General instructions available [http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader here].
+
After the package is installed edit {{path|/etc/pam.d/common-auth}} and replace the line
  
Debian packages for i386 can be found at: http://www.rubixlinux.org/debian/thinkfinger/
+
auth    required        pam_unix.so nullok_secure
  
After the package is installed add the following two lines to /etc/pam.d/common-auth
+
with
  
 
  auth    sufficient      pam_thinkfinger.so
 
  auth    sufficient      pam_thinkfinger.so
  auth    required        pam_unix.so try_first_pass
+
  auth    required        pam_unix.so try_first_pass nullok_secure
 +
 
 +
Edit {{path|/etc/modules}} and add the following line:
 +
 
 +
  uinput
 +
 
 +
Load the module manually for this session:
  
Note: Instructions in French available at http://doc.ubuntu-fr.org/materiel/thinkfinger
+
{{cmduser| sudo modprobe uinput}}
  
 +
Summary:
 
* Recording fingerprints works
 
* Recording fingerprints works
 
* Login works
 
* Login works
Line 225: Line 263:
 
* sudo works
 
* sudo works
 
* gksu and gksudo hang : for example it is necessary to run synaptic twice and enter your password upon failure. To be able to use the Finger print reader in the session subsequently, kill the hanging gksu/gksudo process. A workaround is editing the Gnome System Menu (alacarte) to specify sudo instead of gksu/gksudo for the launching command and choose type "Application in Terminal" : this opens an extra terminal window for each superuser application you want to use though.
 
* gksu and gksudo hang : for example it is necessary to run synaptic twice and enter your password upon failure. To be able to use the Finger print reader in the session subsequently, kill the hanging gksu/gksudo process. A workaround is editing the Gnome System Menu (alacarte) to specify sudo instead of gksu/gksudo for the launching command and choose type "Application in Terminal" : this opens an extra terminal window for each superuser application you want to use though.
{{HELP|Today 14th of September 2007, after Gutsy's updates, Fingerprint is no longer prompted for login and sudo. Looks like a PAM problem. sudo tf-tools --acquire still works
 
Today 17th of September.. this issue is solved after updates..
 
19th of September.. this issue is back after updates
 
}}
 
  
 
== Trackpad scrolling ==
 
== Trackpad scrolling ==
  
 
Trackpad scrolling works out of the box in the standard thinkpad way: Slide your finger up and down the very right edge of the trackpad.
 
Trackpad scrolling works out of the box in the standard thinkpad way: Slide your finger up and down the very right edge of the trackpad.
 +
Note that /etc/X11/xorg.conf will be changed and the edge scrolling will be disabled after running nvidia-xconfig , copy the trackpad section from the backup of xorg.conf
  
 
To enable using the middle mouse button to scroll, add the following lines to the "Configured Mouse" section in
 
To enable using the middle mouse button to scroll, add the following lines to the "Configured Mouse" section in
Line 240: Line 275:
 
     Option    "EmulateWheelButton"    "2"
 
     Option    "EmulateWheelButton"    "2"
  
 +
== Hibernate/Suspend ==
 +
 +
=== Blank screen fix for intel graphics cards===
 +
 +
This fix is for Intel Graphics Cards only.
 +
 +
When resuming from suspend or hibernate, the screen will be black until you switch to a console (ex: Ctrl-Alt-F1) and then back to X (Ctrl-Alt-F7).  ([https://bugs.launchpad.net/ubuntu/+bug/134391 Launchpad bug report]).  To fix this, open (as sudo) <b>/etc/default/acpi-support</b> and find the line:
 +
 +
  <pre># DOUBLE_CONSOLE_SWITCH=true</pre>
 +
 +
uncomment it so that it says:
 +
 +
  <pre>DOUBLE_CONSOLE_SWITCH=true</pre>
 +
 +
and then save and close the file.  You may then reboot or just restart ACPI:
 +
 +
  <pre>sudo /etc/init.d/acpi-support restart
 +
sudo /etc/init.d/acpid restart</pre>
 +
 +
afterward, the screen should come back properly on resume.
 +
 +
This seem to enable painless suspend/resume for T61 with Intel graphics for most people, but on my newer (April 08) ThinkPad T61 suspend/resume continues to be somewhat unstable: resuming sometimes takes very long time, and I am unable to switch to text console after resume with Ctrl+Alt+F1. To fix that, I had to add <b>acpi_sleep=s2_bios</b> kernel parameter to <b>/boot/grub/menu.lst</b>
 +
 +
=== How to Suspend with nVidia 140m/570m ===
 +
 +
The suspend to RAM will work with the nVidia card and the proprietary drivers, but it requires some file editing. It did not work for me out of the box. Using the package manager, download and install the latest nVidia drivers (100.14.19+2.6.2.4-12.4 at time of writing). I also had to use the 2.6.22-12-generic kernel image (the 2.6.22-13 image did not work with this driver --- I'm assuming it has to match wit the nVidia version, but I am not an expert).
 +
 +
Once you have it installed and working, you have to make a change to {{path|/etc/default/acpi-support}}. Open the file in your favorite editor and change the following lines:
  
== Hibernate/Suspend ==
+
  $ sudo nano /etc/default/acpi-support
 +
 
 +
{{path|/etc/default/acpi-support}}
 +
  # Should we save and restore state using the VESA BIOS Extensions?
 +
  SAVE_VBE_STATE=false
 +
  ...
 +
  # Should we attempt to warm-boot the video hardware on resume?
 +
  POST_VIDEO=false
 +
  ...
 +
  # Set the following to "platform" if you want to use ACPI to shut down
 +
  # your machine on hibernation
 +
  HIBERNATE_MODE=platform
 +
 
 +
 
 +
This allowed me to suspend and resume, but after two suspends the wireless wouldn't work anymore. Theoretically, ACPI unloads the network drivers before suspending, but it doesn't seem to work correctly so I added these to the blacklist modules manually (in the same file as above:
 +
 
 +
{{path|/etc/default/acpi-support}}
 +
  # Add modules to this list to have them removed before suspend and reloaded
 +
  # on resume. An example would be MODULES="em8300 yenta_socket"
 +
  #
 +
  # Note that network cards and USB controllers will automatically be unloaded
 +
  # unless they're listed in MODULES_WHITELIST
 +
  MODULES="iwl4965 iwlwifi_mac80211 cfg80211"
 +
 
 +
Your wifi modules may be different. (I have the intel AGN wireless card -- I don't know if these modules are different for other cards.)
 +
 
 +
Add the s3_mode option to kernel boot parameters (according to [https://bugs.launchpad.net/ubuntu/+source/acpi/+bug/139089 Launchpad BUG 139089])
 +
 
 +
{{path|/boot/grub/menu.lst}}
 +
  ## Add acpi_sleep=s3_mode to kernel boot parameters
 +
  # defoptions=quiet splash acpi_sleep=s3_mode
 +
 
 +
Rebuild menu.lst using
 +
 
 +
<pre>$ sudo update-grub</pre>
  
=== Blank Screen Fix ===
+
Remove hibernate and uswsusp packages in case they are installed
  
You may get a blank screen when resuming from suspend or hibernate ([https://bugs.launchpad.net/ubuntu/+bug/134391 Launchpad bug report]). If so, try editing {{path|/boot/grub/menu.lst}}, adding "acpi_sleep=s3_bios" (no quotes) to the "defoptions" list so that it looks something like this:
+
<pre>$ sudo apt-get remove hibernate uswsusp --purge</pre>
  
  ## additional options to use with the default boot option, but not with the
+
This allows me to suspend to ram; I haven't had any problems with it so far. I haven't gotten hibernate (suspend to disk) working, so there may be additional things you need to do for that. (I think part of my problem is that I don't have enough swap, but I don't care enough to actually fix it.)
  ## alternatives
 
  ## e.g. defoptions=vga=791 resume=/dev/hda5
 
  # defoptions=quiet splash '''acpi_sleep=s3_bios'''
 
  
Once you have edited the line and added the acpi_sleep parameter, you need to run
+
If the system has been left in suspend off for a while, wireless might not reconnect at all (Thinkpad T61 8892-02U). Restarting netapplet
 +
solves the problem.
  
   $ sudo update-grub
+
{{path|/etc/default/acpi-support}}
 +
  # Add services to this list to stop them before suspend and restart them in
 +
  # the resume process.
 +
   STOP_SERVICES="netapplet"
  
Note that if you get the blank screen upon resume, a quick-fix is to switch to a console (Ctrl-Alt-F1) and then back to X (Ctrl-Alt-F7). This will usually bring the display back to life. However, the long-term fix is to add the acpi_sleep parameter as shown above.
 
  
=== Intel 3495ABG Wireless ===
+
Running both the ACPI daemon and the APM daemon may also cause problems. You may disable the APM daemon by going to the System->Administration->Services. Enter your password if prompted then uncheck "Power Management (apmd)". The service will be disabled the next time you boot your computer.
  
Works fine out of the box.e, the wireless card won't come back up.  When the [[http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-debug.html quirk checker script]] is run, it says:
+
You may also stop the service manually:
 +
<pre>$ sudo /etc/init.d/apmd stop </pre>
  
  CRITICAL ERROR: Use the mac80211 iwl3945 driver instead. ipw3945d is closed source sometimes hangs on resume.
+
''' The fix does not work for me '''
  
The iwl3945 driver generally only works for about 30 minutes to an hour due to a bug with wpa_supplicant see the section above on the IWL4965 for instructions on fixing this issue
+
I have a T61 7664-17U(NVS 140m, 4965agn). The computers suspend, but when it wakes up it hangs up and I have to pull out the battery to restart it. -- also not with s3_mode?
  
 +
If your screen is black but you can still reboot with ctrl+alt+delete your system resumes but the nvidia graphics chip does not. In this case the following may help (At least for me with T61 6460):
  
 +
{{path|/etc/default/acpi-support}}
 +
  SAVE_VIDEO_PCI_STATE=true
  
 
== Items that work out of the box ==
 
== Items that work out of the box ==
Line 274: Line 375:
 
'''Nvidia:''' 2D works, 3D requires the installation of the proprietary drivers
 
'''Nvidia:''' 2D works, 3D requires the installation of the proprietary drivers
  
'''Wireless:''' Atheros cards work, see [http://www.thinkwiki.org/index.php?title=Installing_Ubuntu_7.10_%28Gutsy_Gibbon%29_Tribe_5_on_a_ThinkPad_T61&action=edit&section=8 this] section for a note regarding Intel cards
+
'''Wireless:''' Atheros and Intel cards both tested.
 +
 
 +
'''Bluetooth:''' Tested with both a bluetooth headset and an HTC 8525
  
'''Network Card'''
+
'''Network Card''' Intel 10/100/1000 tested
  
'''Firewire'''
+
'''Firewire''' Tested with hard drive
  
'''Wireless switch'''
+
'''Wireless switch'''
  
 
'''4-in-1 card reader'''
 
'''4-in-1 card reader'''
  
'''Headphones'''
+
'''Webcam'''
 +
 
 +
'''Headphones''' You may need to enable Headphone out:  Right-click on the volume control and select open volume control.  Click the switches tab and then check the headphones box.
  
 
'''Keyboard Shortcuts:'''
 
'''Keyboard Shortcuts:'''
http://www.thinkwiki.org/index.php?title=Installing_Ubuntu_7.10_%28Gutsy_Gibbon%29_Tribe_5_on_a_ThinkPad_T61&action=edit&section=8
 
 
* Fn-PgUp activates/deactivates the thinklight
 
* Fn-PgUp activates/deactivates the thinklight
 
* Fn-Up will trigger stop on a media player
 
* Fn-Up will trigger stop on a media player
Line 293: Line 397:
 
* Fn-Left/Right go to prev/next tracks on a media player
 
* Fn-Left/Right go to prev/next tracks on a media player
 
* Fn-F2 properly locks the screen
 
* Fn-F2 properly locks the screen
* Fn-F3 shows remaining battery
+
* Fn-F3 shows remaining battery >>does not work on all machines<<
 
* Fn-F4 suspends (to ram)
 
* Fn-F4 suspends (to ram)
 
* Fn-F12 hibernates (to disk)
 
* Fn-F12 hibernates (to disk)
Line 314: Line 418:
 
== Items that don't work ==
 
== Items that don't work ==
  
* Wireless USB/UWB - https://bugs.launchpad.net/ubuntu/+bug/136287
+
=== Interrupt problem (PROBABLY SOLVED) ===
* USB ports can end up temporarily disabled - https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126369
+
  This bug is supposed to be solved by updating the system BIOS to the [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-67989 2.09]-Version (with 1.08 AMT). Still testing...
 +
* https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126369
 +
* USB ports can end up temporarily disabled
 +
* Wifi can break
 +
* integrated cardreader can be disabled
 +
* bluetooth can be disabled
 +
* Setting IRQ's to "Auto" from factory default of "11" in the BIOS seems to help some people.
 +
* The two USB ports on the left side of the computer may fail to connect storage devices during a session but will load them at boot up. (SOLVED! with BIOS update 2.09)
 +
* booting with the "irqpoll" option seems to work for some people against the problem that usb-ports stop working.
 +
* GLX (3d graphics) on intel 965 video card is broken: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/120834 (SOLVED! - see section above)
 +
 
 +
=== Wireless activity LED ===
 +
 
 +
The LED is not implemented in either the IWL4965 or Atheros drivers.
 +
 
 +
patch posted in this [http://bughost.org/bugzilla/show_bug.cgi?id=1209 thread] works for me on R61 with IWL4965 card.
  
 
== Power consumption ==
 
== Power consumption ==
Line 370: Line 489:
 
|-
 
|-
 
|}
 
|}
 +
 +
== See also ==
 +
* [[Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad T61]]
  
 
[[Category: T61]] [[Category: Ubuntu 7.10]]
 
[[Category: T61]] [[Category: Ubuntu 7.10]]

Latest revision as of 03:13, 18 May 2008

Introduction

This document outlines configuring Ubuntu 7.10 (Gutsy Gibbon) on your Thinkpad T61. Most items will work out of the box and a base install should provide you with a completely working system. Due to the modular nature of the T61 there are many different configuration, please read carefully and only make the changes specific to your system.

Feel free to update this Wiki with your information however please ask questions on the Talk page.

Installation Notes

  • If booting with the live CD gives you a blank screen you should select the "Safe Graphics" menu choice.

Display/Video

Accelerated Video and Desktop Effects

Intel 2D and 3D accelerated video work out of the box.

Due to | bug 111257, compiz is disabled on the Intel i965 based video cards. All systems updated after 11/24/2007 should be fixed.

Nvidia 2D video works out of the box, to enable accelerated 3D support click System->Administration->Restricted Drivers Manager

NOTE!
If the Restricted Drivers Manager fails to install the driver you can use the Envy tool from: http://albertomilone.com/nvidia_scripts1.html. This tool is unsupported and the only supported method of installing the Nvidia drivers is via Synaptics and the Restricted Drivers Manager

Multiple Monitors

If you previously used Xinerama this is no longer a supported option, you should use one of the tools described below to configure dual displays.

Nvidia N140m:

When using the default drivers (The open source "nv" drivers) you can use Administration->"Screens and Graphics" to setup the second monitor

Using the proprietary drivers you must use the Nvidia tool located at Applications->System Tools-> Nvidia X Server Settings.

Note: Twinview 'works' but doing anything with Twinview in fullscreen mode will cause it to span both monitors instead of just being on the second. This essencially kills the functionality of Twinview.

eg 1 --> you are an office working bringing your notebook to work to show a presentation but you can't use full screen.

eg 2 --> you want take your notebook to a friends house to watch a movie on his/her projector and fullscreen mode gets half displayed on the projector and half on the notebook monitor.

To resolve the full screen issue:

After setting up Twinview with the second monitor save the configuration to your x config file, then restart x. Log in again and now when you fullscreen it will only span the one monitor that the window is in not both. The other screen will be available for other use. You can drag between windows and then fullscreen to fill only the monitor you are in. Tested on T61 using Ubuntu 7.10 with gMPlayer in full screen mode and open office impressions slide show. (Movies and Presentations)


If you experience problems getting a working Twinview setup using nvidia-settings, please see this thread

Intel GM965/GL960

If you experience a blank screen and perpetual gui reset when using heavy GLX (3D) applications such as scorched3d, try upgrading to the hardy 2.6.24-3 kernel along with the matching modules:

add these 2 lines to /etc/apt/sources.list:

deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy restricted main multiverse universe 

run:

 sudo apt-get update
 sudo apt-get install linux-restricted-modules-2.6.24-3-generic linux-image-2.6.24-3-generic linux-ubuntu-modules-2.6.24-3-generic

Comment out the 2 new lines from sources.list (put a # in front) and run apt-get update again.

reboot.

IMPORTANT: You must comment out the lines from sources.list and run apt-get update again, or you will auto-upgrade to hardy which you do not want to do yet!

NOTE: the 2.6.24 kernel uses the new fully open iwl3945 driver for wifi, instead of the old restricted ipw3945. you may need to tweak your wifi settings after rebooting.

Intel X3100

Plugging in an external monitor works, but is a clone of the built-in LCD by default. Using the Screens and Graphics tool located under Administration you can setup the second monitor as an extension of the existing screen or a clone for presentations, but it does not let you enable a second display on a second monitor.

Setting up dual monitors via the command line

If you like doing it via the command line and are using the Intel drivers or the open-source "nv" driver you can use this example (Note all this should be possible using the Screens and Graphics tool so only make this change if you prefer the command line method):

This is an example for a 1680x1050 built-in LCD and a 1600x1200 external LCD: Add a "Virtual 3280 1200" line in the Display SubSection of the Screen Section in your xorg.conf:

Go to Applications -> Accessories -> Terminal and type the following:

# sudo /etc/init.d/gdm stop
# xrandr --output LVDS --auto

To set the built-in LCD to ouput 1680x1050

# xrandr --output VGA --right-of LVDS

To extend the desktop

To enable Compiz Fusion. refer to http://temporaryland.wordpress.com/2007/12/06/finding-the-right-distro-for-my-thinkpad-followup/ and follow the instructions as per for Linux Mint 4.0.

Fonts on High-Res Screens

On high-res screens (e.g. 15" 1680x1050), some users consider the default fonts too be too large (Launchpad bug report). You can fix this by following these steps:

  1. Open System->Preferences->Appearance
  2. Select the "Fonts" tab
  3. Click the "Details" button (lower right)
  4. Adjust the Resolution down to 96dpi
  5. Make sure you have Subpixel (LCD) Smoothing enabled
  6. Save the preferences

If you also want small fonts on the GDM login window, you can do this:

  1. Open System->Administration->Login Window
  2. Select the 'Security' tab
  3. Click the 'Configure X-Server' button
  4. Append '-dpi 96' (without quotes) to the text in the 'Command' field
  5. Reboot the computer.

Brightness

Intel X3100:

The brightness controls should work out of the box on a fresh install.

Nvidia Quadro N140 and 570M:

With Nvidia Driver 169.07 (2007/12/20) the brightness controls work properly on a Thinkpad T61 with Nvidia Quadro NVS 140M. Please see the section above on installing drivers with the Envy tool above.

Previous Driver: The brightness controls do not work out of the box, however you can switch to a virtual terminal (ctrl+alt+F1) increase or decrease the brightness and then switch back to X (ctrl+alt+F7) without disrupting the running applications (You should save anything open just to be safe). There is a new from nvidia that fixes the brightness-controls. To install this driver use the Envy tool described above.

If brightness buttons do not work (after installing the latest nvidia drivers) you can edit /etc/acpi/thinkpad-brightness-up.sh and /etc/acpi/thinkpad-brightness-down.sh:

Add this line before "exit" in /etc/acpi/thinkpad-brightness-up.sh

   echo 4 > /proc/acpi/ibm/cmos

Also insert this line before "exit" in /etc/acpi/thinkpad-brightness-down.sh

   echo 5 > /proc/acpi/ibm/cmos

Audio

Inextricably Linked to the Modem

Make sure that you have the modem enabled in the BIOS. If it is disabled, you may discover that your audio is also disabled. In this situation, your drivers may still load, but you will get an error message whenever you try to play audio.

Enabling Audio controls

By default, the sound may be disabled and the volume control buttons on the laptop (up by the ThinkVantage button) and the volume control applet (up by the clock) will not control the speaker volume (they actually control the microphone). To fix this:

  1. Right-click on the volume control applet (by the clock) and select "Open Volume Control"
  2. In the "Switches" tab, make sure "Headphone" and "Speaker" are both checked.
  3. Close the Volume control.
  4. Right-click on the volume control applet again and select "Preferences".
  5. Make sure the device is set to "HDA Intel (Alsa mixer)" and highlight the "PCM" option.
  6. Close the preferences.
  7. Select System->Preferences->Sound.
  8. In the "Default Mixer Tracks" section, make sure "PCM" is highlighted.
  9. Close the sound preferences.

You should now hear sound and be able to control the volume using the laptop buttons or volume applet.

A recent BIOS update [1] fixes the mute button, you can then configure it to mute/unmute audio in Keyboard Shortcuts.

Microphone

The internal microphone is considered a generic capture source and is muted by default. To unmute the microphone:

  • Right Click on the volume icon next to the clock and click on "Open Volume Control"
  • Click Edit -> Preferences. A list of devices will be displayed, you should check the following (Do not uncheck any existing items):
     Internal Mic
     Input Source
     Capture
  • Click Close and there should be two additional tabs "Recording" and "Options". -
  • Click Recording and click on the microphone under the Capture slider so that it no longer has a red line through it.
  • Click Options and under capture source select internal mic (This step may not be necessary).

To test your mic using Sound Recorder select Capture as the sound source.

This solution has been tested with Sound Recorder, Akiga, Skype, and OpenWengo.

Sound Cracking

There have been intermittent reports of users experiencing cracking when listening to audio. Here are a few possible solutions:

  • Try to switch to the OSS driver in system => preference => sound => devices => Music and movies, select OSS - Open sound system (instead of ALSA)
  • If this issue is only occurring for Rhythmbox go to Edit > Preferences > Playback > and Check "Use Crossfading Backend". Restart Rhythmbox and you should have better audio quality.
  • Check that the microphone is muted and modify your mixer settings by moving items like PCM down halfway and see if the cracking goes away.

Hissing

Some users experience hissing during playback, and even when idle. To solve this mute the microphone when it is not in use:

  1. Run "alsamixer" in the terminal.
  2. Arrow over to "Mic", and hit "M" to mute.
  3. Arrow over to the first "Docking", and hit "M" to mute.
  4. Arrow to the first "Internal", and hit "M" to mute.

Now, make sure that "Headphone" and/or "Speaker" are _not_ muted, and that "PCM" is at a reasonable level (say ~70) so you don't make your ears bleed, and try playing something back. (<Esc> will exit alsamixer)

Modem

The modem works with the Linuxant drivers available at http://www.linuxant.com

This does not work in the 64 bit version of ubuntu.

Bluetooth

Bluetooth works out of the box. Pressing Fn-F5 once will enable bluetooth, disable wireless, pressing again, enable both and pressing one more time will disable bluetooth.

If you would like to set bluetooth state independently the script below determines the current bluetooth state and toggles the device on or off.

First create a new file named bluetooth-toggle: # sudo touch /usr/sbin/bluetooth-toggle

Now open a editor: # sudo gedit /usr/sbin/bluetooth-toggle

Paste the following script:

#!/bin/bash
cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line;
 do
   if [ $line == "enabled" ]; then
       echo disable > /proc/acpi/ibm/bluetooth
   else
       echo enable > /proc/acpi/ibm/bluetooth
   fi
   break
 done

Now set the execute permissions: # sudo chmod +x /usr/sbin/bluetooth-toggle

You can invoke the script out of the console by typing sudo bluetooth-toggle or create a menu icon by using the menu editor under preferences using gksudo bluetooth-toggle as command line.

<thinkwiki></thinkwiki>

Fingerprint Reader

The reader works with ThinkFinger. General instructions available here and here. Instructions in French available at http://doc.ubuntu-fr.org/materiel/thinkfinger

Note that ThinkFinger in it's current version does not work with KDE and Kubuntu in any way (it crashes KDM and is not integrated at all).

Prebuilt packages are available from jldugger using Launchpad's PPA:

Add the thinkfinger package repository by creating /etc/apt/sources.list.d/thinkfinger.list with these two lines:

deb     http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse

Then update the package database and install packages:

$ sudo apt-get update
$ sudo apt-get install libpam-thinkfinger libthinkfinger-dev libthinkfinger-doc libthinkfinger0 thinkfinger-tools

After the package is installed edit /etc/pam.d/common-auth and replace the line

auth    required        pam_unix.so nullok_secure

with

auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so try_first_pass nullok_secure

Edit /etc/modules and add the following line:

  uinput

Load the module manually for this session:

$ sudo modprobe uinput

Summary:

  • Recording fingerprints works
  • Login works
  • The password must be entered to unlock a locked screensaver
  • sudo works
  • gksu and gksudo hang : for example it is necessary to run synaptic twice and enter your password upon failure. To be able to use the Finger print reader in the session subsequently, kill the hanging gksu/gksudo process. A workaround is editing the Gnome System Menu (alacarte) to specify sudo instead of gksu/gksudo for the launching command and choose type "Application in Terminal" : this opens an extra terminal window for each superuser application you want to use though.

Trackpad scrolling

Trackpad scrolling works out of the box in the standard thinkpad way: Slide your finger up and down the very right edge of the trackpad. Note that /etc/X11/xorg.conf will be changed and the edge scrolling will be disabled after running nvidia-xconfig , copy the trackpad section from the backup of xorg.conf

To enable using the middle mouse button to scroll, add the following lines to the "Configured Mouse" section in /etc/X11/xorg.conf:

   Option    "EmulateWheel"          "true"
   Option    "EmulateWheelButton"    "2"

Hibernate/Suspend

Blank screen fix for intel graphics cards

This fix is for Intel Graphics Cards only.

When resuming from suspend or hibernate, the screen will be black until you switch to a console (ex: Ctrl-Alt-F1) and then back to X (Ctrl-Alt-F7). (Launchpad bug report). To fix this, open (as sudo) /etc/default/acpi-support and find the line:

# DOUBLE_CONSOLE_SWITCH=true

uncomment it so that it says:

DOUBLE_CONSOLE_SWITCH=true

and then save and close the file. You may then reboot or just restart ACPI:

sudo /etc/init.d/acpi-support restart
sudo /etc/init.d/acpid restart

afterward, the screen should come back properly on resume.

This seem to enable painless suspend/resume for T61 with Intel graphics for most people, but on my newer (April 08) ThinkPad T61 suspend/resume continues to be somewhat unstable: resuming sometimes takes very long time, and I am unable to switch to text console after resume with Ctrl+Alt+F1. To fix that, I had to add acpi_sleep=s2_bios kernel parameter to /boot/grub/menu.lst

How to Suspend with nVidia 140m/570m

The suspend to RAM will work with the nVidia card and the proprietary drivers, but it requires some file editing. It did not work for me out of the box. Using the package manager, download and install the latest nVidia drivers (100.14.19+2.6.2.4-12.4 at time of writing). I also had to use the 2.6.22-12-generic kernel image (the 2.6.22-13 image did not work with this driver --- I'm assuming it has to match wit the nVidia version, but I am not an expert).

Once you have it installed and working, you have to make a change to /etc/default/acpi-support. Open the file in your favorite editor and change the following lines:

 $ sudo nano /etc/default/acpi-support

/etc/default/acpi-support

 # Should we save and restore state using the VESA BIOS Extensions?
 SAVE_VBE_STATE=false
 ...
 # Should we attempt to warm-boot the video hardware on resume?
 POST_VIDEO=false
 ...
 # Set the following to "platform" if you want to use ACPI to shut down
 # your machine on hibernation
 HIBERNATE_MODE=platform


This allowed me to suspend and resume, but after two suspends the wireless wouldn't work anymore. Theoretically, ACPI unloads the network drivers before suspending, but it doesn't seem to work correctly so I added these to the blacklist modules manually (in the same file as above:

/etc/default/acpi-support

 # Add modules to this list to have them removed before suspend and reloaded
 # on resume. An example would be MODULES="em8300 yenta_socket"
 #
 # Note that network cards and USB controllers will automatically be unloaded 
 # unless they're listed in MODULES_WHITELIST
 MODULES="iwl4965 iwlwifi_mac80211 cfg80211"

Your wifi modules may be different. (I have the intel AGN wireless card -- I don't know if these modules are different for other cards.)

Add the s3_mode option to kernel boot parameters (according to Launchpad BUG 139089)

/boot/grub/menu.lst

 ## Add acpi_sleep=s3_mode to kernel boot parameters
 # defoptions=quiet splash acpi_sleep=s3_mode

Rebuild menu.lst using

$ sudo update-grub

Remove hibernate and uswsusp packages in case they are installed

$ sudo apt-get remove hibernate uswsusp --purge

This allows me to suspend to ram; I haven't had any problems with it so far. I haven't gotten hibernate (suspend to disk) working, so there may be additional things you need to do for that. (I think part of my problem is that I don't have enough swap, but I don't care enough to actually fix it.)

If the system has been left in suspend off for a while, wireless might not reconnect at all (Thinkpad T61 8892-02U). Restarting netapplet solves the problem.

/etc/default/acpi-support

 # Add services to this list to stop them before suspend and restart them in 
 # the resume process.
 STOP_SERVICES="netapplet"


Running both the ACPI daemon and the APM daemon may also cause problems. You may disable the APM daemon by going to the System->Administration->Services. Enter your password if prompted then uncheck "Power Management (apmd)". The service will be disabled the next time you boot your computer.

You may also stop the service manually:

$ sudo /etc/init.d/apmd stop 

The fix does not work for me

I have a T61 7664-17U(NVS 140m, 4965agn). The computers suspend, but when it wakes up it hangs up and I have to pull out the battery to restart it. -- also not with s3_mode?

If your screen is black but you can still reboot with ctrl+alt+delete your system resumes but the nvidia graphics chip does not. In this case the following may help (At least for me with T61 6460):

/etc/default/acpi-support

 SAVE_VIDEO_PCI_STATE=true

Items that work out of the box

Intel Video: 2D and 3D acceleration works

Nvidia: 2D works, 3D requires the installation of the proprietary drivers

Wireless: Atheros and Intel cards both tested.

Bluetooth: Tested with both a bluetooth headset and an HTC 8525

Network Card Intel 10/100/1000 tested

Firewire Tested with hard drive

Wireless switch

4-in-1 card reader

Webcam

Headphones You may need to enable Headphone out: Right-click on the volume control and select open volume control. Click the switches tab and then check the headphones box.

Keyboard Shortcuts:

  • Fn-PgUp activates/deactivates the thinklight
  • Fn-Up will trigger stop on a media player
  • Fn-Down will toggle pause and play on a media player
  • Fn-Left/Right go to prev/next tracks on a media player
  • Fn-F2 properly locks the screen
  • Fn-F3 shows remaining battery >>does not work on all machines<<
  • Fn-F4 suspends (to ram)
  • Fn-F12 hibernates (to disk)
  • PrtSc opens the screenshot dialog

Docking Stations:

All docking station models should work and the following features have been tested:

  • DVI or Analog video: You can switch to it using "Administration->Screens and Graphics", if you are using the proprietary Nvidia drivers you must use the Nvidia Control Panel.
  • Network Pass-through
  • Modem Pass-through
  • USB ports: Connected upon docking
  • PS/2 Ports

Items that don't work

Interrupt problem (PROBABLY SOLVED)

 This bug is supposed to be solved by updating the system BIOS to the 2.09-Version (with 1.08 AMT). Still testing...

Wireless activity LED

The LED is not implemented in either the IWL4965 or Atheros drivers.

patch posted in this thread works for me on R61 with IWL4965 card.

Power consumption

Gutsy is the first version of Ubuntu to feature a tickless kernel (i386 only, not in AMD64 yet). Power consumption can be monitored using the powertop tool under Ubuntu and using Lenovo battery monitor under Windows.

 $ sudo apt-get install powertop
 $ sudo powertop

I couldn't find any difference in power consumption between the i386 tickless kernel (even with 70ms average sleep in C4) and AMD64 kernel (2ms average sleep in C4). It would be expected that considerably less power would be consumed for the i386 tickless kernel.

There is also a graph available by Right-clicking on the battery icon and selecting Power History.

These are the figures measured on a T61 15.4" 1680x1050 screen 7300 processor (2GHz) 2GB RAM, Intel X3100 graphics with 4965 wifi, Bluetooth and UWB.

12.3W Windows XP Pro, all radios on, about 50% brightness
16.7W Gutsy, all radios on, 50% brightness
19.6W Gutsy, all radios on, 100% brightness
14.2W Gutsy, all radios on, 10% brightness
-1.0W Turning the physical radio switch to off on the front reduces power consumption by 1 watt.


Adding the Nvidia card increases the laptops power requirements.

These are the figures measured on a T61 14" 1440x900 screen 2.2ghz Core2Duo 2GB RAM, Nvidia 140m video, IWL4965 wifi and Bluetooth (Disabled):

18.3W Gutsy, all radios on, 50% brightness
19.4W Gutsy, all radios on, 100% brightness
16.0W Gutsy, all radios on, 10% brightness

See also