Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T61
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.
Contents
- 1 Items that work out of the box
- 2 Items that need (some) tweaking to obtain full functionality
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)
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.
To enable the Wi-Fi LED with the Atheros cards and Ath5K driver
If you want to use Ath5k driver for your adapter, which I think provides better signal quality, then open a terminal and run these commands:
sudo su
Install necessary build packages:
apt-get install build-essential
Then close Madwifi if you have it installed before:
rmmod ath_pci; rmmod ath_hal
Download the most recent source code for Ath5k:
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2009-03-30.tar.bz2 tar xvf compat-wireless-2009-03-30.tar.bz2 cd compat-wireless-2009-03-30
Before compiling, you need to modify the file compat-wireless-2009-03-30/drivers/net/wireless/ath5k/led.c from:
/* IBM-specific AR5212 */ { PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(0, 0) },
to:
/* IBM-specific AR5212 */ { PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(1, 1) },
Save and then move on to compiling the driver, make sure you execute this command in the directory of compat-wireless-2009-03-30/
make
Then confirm that all other drivers are unloaded:
make unload
Install:
make install
Load the module:
modprobe ath5k
Check the wireless network
ifconfig wlan0 up; iwconfig
Your Wi-Fi LED should be blinking happily ever after...
Now we add Madwifi to blacklist to completely forbid it:
echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist
Load ath5k automatically everytime the system starts:
echo "ath5k" >> /etc/modules
Then the whole process should be done. Happy wifi~
If you want to remove ath5k, change directory to the directory compat-wireless-2009-03-30/
sudo make uninstall
Unload ath5k:
sudo rmmod ath5k
remove ath5k from /etc/modules and restart.
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)
If you want to upgrade to latest version, follow these instructions: http://adammichaelroach.com/blog/021809/installing-nvidia-18029-drivers-intrepid
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
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.
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
Use "NVidia X Server Settings" (nvidia-settings) application to configure the external monitor (refresh rate & resolution). xrandr will stall, don't use it.