Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T61

From ThinkWiki
Revision as of 11:14, 20 March 2009 by Lhotari (Talk | contribs) (Nvidia performance and Xorg memory consumption problem)
Jump to: navigation, search

NOTE: I copied the 8.04 document for the T61 and created this one with the information. Please help to update it so it accurately reflects Ubuntu 8.10.

Items that work out of the box

Intel Video: 2D and 3D acceleration works

Nvidia Video: 2D and 3D acceleration works . 64-bit Ubuntu 8.10 requires updated Nvidia driver 180.29 .

Wireless: Intel cards tested. Atheros cards also works.

Wireless WAN: Cingular/AT&T card tested.

Network Card: Intel 10/100/1000 tested

Wireless switch: Tested (Only has an effect over the bluetooth, wifi is unaffected)

Webcam: Tested with cheese and skype.

Headphones: Works out of the box

Microphone: Just needs to be activated, see section below

Keyboard Shortcuts: Most of them work out of the box, some need to be activated, see section below

Fingerprint Reader: With ThinkFinger, not as functional after upgrade (need to hit 'Enter'), see below

Items that need (some) tweaking to obtain full functionality

Sound (too quiet, no sound after resume)

NOTE!
Note: This seems to have been fixed in a recent update. Following these instructions will actually dampen sound if your sound is already at the appropriate volume. Only apply if necessary.

Sound works "out of the box", but is too quiet for many people. To fix this you need to do the following:

gksudo gedit /etc/modprobe.d/alsa-base

and add

options snd-hda-intel model=thinkpad power_save_controller=Y power_save=10

to the very end of the file (/etc/modprobe.d/alsa-base).

Note: power_save_controller=Y option fixes the problem with no sound after resuming from suspend.

Open Source Intel Wi-Fi Driver

The following information is important if you are upgrading from a previous version (2007 or earlier) of Ubuntu to 8.10.

Intel has created a new Linux Wi-Fi driver project for Intel Wireless cards, "Iwlwifi". This driver is Open Source and no longer requires the Intel daemon to run in addition. This project will support the T61's Wi-Fi Intel 3945ABG network adapter and Intel 4965AGN network adapter.

An automatic migration will occur when upgrading from Ubuntu 7.10 to Ubuntu 8.04. However, there is a caveat to be aware of:

  • The new driver wants to name the interface wlan0 (by default -- you can rename it to anything you want), and requires a different entry in /etc/udev/rules.d/70-persistent-net.rules, which handles the naming of interfaces. Simply edit this file and delete your old entry for the ipw3945 driver, then unload/reload the new driver, or simply reboot. A new entry will automatically be created that is appropriate for the new driver. Here's an example of the lines to delete:
# PCI device 0x8086:0x4227 (ipw3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"

If you need to perform a manual migration, the Ubuntu Help Community has written some documentation that will make this very easy to do.

An additional note System lock-ups with Intel 4965 wireless

The version of the iwlagn wireless driver for Intel 4965 wireless chipsets included in Linux kernel version 2.6.27 causes kernel panics when used with 802.11n or 802.11g networks. Users affected by this issue can install the linux-backports-modules-intrepid package, to install a newer version of this driver that corrects the bug. (Because the known fix requires a new version of the driver, it is not expected to be possible to include this fix in the main kernel package.) http://www.ubuntu.com/getubuntu/releasenotes/810

To enable the Wi-Fi LED with the Atheros cards

First check if this solution works on your computer. Open a terminal and run this commands:

sysctl dev.wifi0.ledpin=1
sysctl dev.wifi0.softled=3

Now connect to a wireless network and the LED should start working. If so and you want to make the changes permanent then, on a Debian-based system, add

dev.wifi0.ledpin=1
dev.wifi0.softled=1

to the file /etc/sysctl.conf. If your distribution doesn't have a sysctl.conf file then you can add the two sysctl commands to an initscript.

Network connection after suspend/resume

Networking may not work after a suspend or resume operation, this is because of the ath_pci driver and can be worked around by creating the file /etc/pm/config.d/madwifi and adding the single line

SUSPEND_MODULES=ath_pci

which causes the driver to be unloaded on suspend and reloaded on resume.

Fingerprint Reader with ThinkFinger

Here are the general instruction on how to enable the fingerprint reader with ThinkFinger Add the PPA repositories to your source.list (/etc/apt/source.list):

deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main

Update installer:

$ sudo apt-get update

And install:

$ sudo apt-get install thinkfinger-tools

From: Ubuntu 8.10 Intrepid Ibex - ThinkFinger Fingerprint Reader

NOTE: Just the above didn't worked for me. This did worked like a charm. --Lunatico 22:53, 18 December 2008 (CET)

Emulate Wheel (Middle-click scrolling)

Michael Vogt described how to get middle-click scrolling to work again in Intrepid. 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. In terminal:

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

Past 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 I don't think it worked for me.

Enabling touchpad on/off key (fn-f8)

The procedure shown here for T500 also works for T61.

Suspend/Hibernate

Nvidia drivers

One of the many problems associated with the Thinkpad *61 series and nvidia is the suspend/hibernate feature being broken.

If you have such a problem then try this fix.

First of all make sure that you use nvidia drivers. System -> Administration -> Hardware drivers and there the activate the latest one.

Then create file /etc/hal/fdi/information/lenovo.fdi

With contents:

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="system.hardware.vendor" string="LENOVO">
      <!-- Ubuntu default settings: good for nvidia driver -->
      <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
      <merge key="power_management.quirk.s3_bios" type="bool">false</merge>
      <merge key="power_management.quirk.save_pci" type="bool">true</merge>
    </match>
  </device>
</deviceinfo>

Reboot and check suspend and hibernation.

Update and success 1 March 2009 I didn't have success with above alone. After editing loads of hal files I cam across a suggestion that early versions of the nvidia 180 drivers dont do suspend/resume. It was also said that from 180.25 on they worked. So I manually upgraded to the using the documentation on the Ubuntu wiki - but basically it's a matter of removing anything that was installed by ubuntu (like getting rid of /lib/modules/2.6.27-11-generic/updates/dkms/nvidia.ko) and then running the nvidia installer, rebooting and you have the newer version - in my case 180.29. Now suspend to ram works!


Nvidia driver upgrade to latest version (180.29 currently)

Follow these instructions: http://adammichaelroach.com/blog/021809/installing-nvidia-18029-drivers-intrepid

Without 180.29 version Firefox and X.org will stall with these error messages in the log file:

[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.

For example http://grails.org website stalls Firefox and X.org.


GDM Startup problem with Nvidia 177 or 180 driver versions

There's a bug in the driver so that the driver hangs for 30 seconds after logout (in restart X server): http://www.nvnews.net/vbulletin/showthread.php?t=125286

Workaround: increase GdmXserverTimeout to 60. Modify /etc/gdm/gdm.conf

line 232: GdmXserverTimeout=60

More information in the Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-177/+bug/258357

Nvidia performance (Firefox is very slow) and Xorg memory consumption problem

I've added these settings to xorg.conf. The GDM Startup problem went away too.

Section "ServerFlags"
        Option  "Xinerama" "0"
        Option  "AllowEmptyInput" "false"
        Option "PixmapCacheSize" "1000000"
        Option "AllowSHMPixmaps" "0"
        Option "PixmapCache" "1"
        Option "PixmapCacheRoundSizeKB" "1024"
        Option "InitialPixmapPlacement" "2" 
        Option "GlyphCache" "1"
EndSection

I added did this from the command line:

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

more information: http://www.nvnews.net/vbulletin/showthread.php?t=118088 https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/223238 https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/190228 https://bugs.launchpad.net/firefox/+bug/207454

/etc/X11/xorg.conf settings with support for beamer
Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        Option "ConnectedMonitor" "DFP-0,CRT-0"
        Option "UseDisplayDevice" "DFP-0,CRT-0"
        Option "TwinView" "true"
        Option "TwinViewOrientation" "Clone"
        Option "TwinViewXineramaInfoOrder" "DFP-0,CRT-0"
        Option "MonitorLayout" "LFP,LFP+CRT"
        Option "metamodes" "DFP-0: 1680x1050 +0+0, CRT-0: NULL; DFP-0: 1024x768 +0+0, CRT-0: 1024x768 +0+0; DFP-0: 1280x1024 +0+0, CRT-0: 1280x1024 +0+0; DFP-0: 1024x768 +0+0, CRT-0: NULL"
        Option "SecondMonitorHorizSync" "31-82" # 15,75-91,1
        Option "SecondMonitorVertRefresh" "56-76" # 43-85
        DefaultDepth    24
EndSection

Section "Module"
        Load    "glx"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
        Option  "ModeValidation"        "CRT-0: NoEdidModes, NoHorizSyncCheck, NoVertRefreshCheck"
        Driver  "nvidia"
        Option  "NoLogo"        "True"
EndSection

Section "ServerFlags"
        Option  "Xinerama" "0"
        Option  "AllowEmptyInput" "false"
        Option "PixmapCacheSize" "1000000"
        Option "AllowSHMPixmaps" "0"
        Option "PixmapCache" "1"
        Option "PixmapCacheRoundSizeKB" "1024"
        Option "InitialPixmapPlacement" "2" 
        Option "GlyphCache" "1"
EndSection