Difference between revisions of "Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T61"

From ThinkWiki
Jump to: navigation, search
(Nvidia performance (Firefox is very slow) and Xorg memory consumption problem)
 
(43 intermediate revisions by 16 users not shown)
Line 1: Line 1:
NOTE: I copied the 8.04 document and created this one with the information. Please help to update it so it accurately reflects 8.10.
+
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 ==
 
== Items that work out of the box ==
Line 5: Line 5:
 
'''Intel Video:''' 2D and 3D acceleration works
 
'''Intel Video:''' 2D and 3D acceleration works
  
'''Nvidia 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:''' Intel cards tested. Atheros cards also works.
Line 11: Line 11:
 
'''Wireless WAN:''' Cingular/AT&T card tested.
 
'''Wireless WAN:''' Cingular/AT&T card tested.
  
'''Network Card''' Intel 10/100/1000 tested
+
'''Network Card:''' Intel 10/100/1000 tested
  
'''Wireless switch''' Tested (Only has an effect over the bluetooth, wifi is unaffected)
+
'''Wireless switch:''' Tested (Only has an effect over the bluetooth, wifi is unaffected)
  
'''Webcam''' Tested with cheese and skype.
+
'''Webcam:''' Tested with cheese and skype.
  
'''Headphones''' Works out of the box
+
'''Headphones:''' Works out of the box
  
'''Microphone''' Just needs to be activated, see section [[#Audio|below]]
+
'''Microphone:''' Just needs to be activated, see section [[#Audio|below]]
  
 
'''Keyboard Shortcuts:''' Most of them work out of the box, some need to be activated, see section [[#Multimedia_Keys|below]]
 
'''Keyboard Shortcuts:''' Most of them work out of the box, some need to be activated, see section [[#Multimedia_Keys|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 ==
 
== 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:
 +
<pre>
 +
gksudo gedit /etc/modprobe.d/alsa-base
 +
</pre>
 +
and add
 +
<pre>
 +
options snd-hda-intel model=thinkpad power_save_controller=Y power_save=10
 +
</pre>
 +
to the very end of the file ({{path|/etc/modprobe.d/alsa-base}}).
  
=== Open Source Intel Wifi Driver ===
+
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.
 
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 Wifi 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 [[:Category:T61 | T61]]'s Wifi [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter | Intel 3945ABG network adapter]] and [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter| Intel 4965AGN network adapter]].
+
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 [[:Category:T61 | T61]]'s Wi-Fi [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter | Intel 3945ABG network adapter]] and [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter| Intel 4965AGN network adapter]].
  
 
An automatic migration will occur when upgrading from [[Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61|Ubuntu 7.10]] to Ubuntu 8.04.  However, there is a caveat to be aware of:
 
An automatic migration will occur when upgrading from [[Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61|Ubuntu 7.10]] to Ubuntu 8.04.  However, there is a caveat to be aware of:
Line 36: Line 51:
 
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"
 
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"
 
</pre>
 
</pre>
 
  
 
If you need to perform a manual migration, the Ubuntu Help Community has written some [https://help.ubuntu.com/community/WifiDocs/Driver/iwlwifi_Intel_3945_4965/gutsy documentation] that will make this very easy to do.
 
If you need to perform a manual migration, the Ubuntu Help Community has written some [https://help.ubuntu.com/community/WifiDocs/Driver/iwlwifi_Intel_3945_4965/gutsy documentation] that will make this very easy to do.
  
=== Compiz and XV Playback on Intel GM965/GL960 ===
+
An additional note
 +
'''System lock-ups with Intel 4965 wireless'''
  
With Ubuntu 7.10 (Gutsy Gibbon) you currently have to choose between using Compiz and working video playback using XV. On 8.04 (Hardy Heron) alpha 5 you can play videos using XV under compiz, it works right out of the box using the Live-CD.
+
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
  
=== Suspend with Nv140m ===
+
==== To enable the Wi-Fi LED with the Atheros cards ====
  
** Update as of July 17th 2008 -- Using 8.04.1 with the newest nvidea drivers, I had no problems suspending without any additional configuration. **
+
First check if this solution works on your computer. Open a terminal and run this commands:
  
Suspend may not work even after editing acpi-support. Enable bluetooth (Fn+F5) may result in a successful suspend. NOTE: that although the wifi led does not change when Fn+F5 is used, the wifi is still toggled by this key.
+
sysctl dev.wifi0.ledpin=1
 +
sysctl dev.wifi0.softled=3
  
'''Hal "S3 BIOS" parameter issue!'''
+
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
 
+
After doing the changes to the /etc/default/acpi-support file (described [http://www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_(Gutsy_Gibbon)_on_a_ThinkPad_T61#How_to_Suspend_with_nVidia_140m.2F570m here]), I for one, managed to have '''stable''' suspend support by creating a new file called: '''/etc/hal/fdi/information/lenovo.fdi''' with the following contents:
+
 
<pre>
 
<pre>
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
+
dev.wifi0.ledpin=1
<deviceinfo version="0.2">
+
dev.wifi0.softled=1
  <device>
+
    <match key="system.hardware.vendor" string="LENOVO">
+
        <merge key="power_management.quirk.s3_bios" type="bool">false</merge>
+
    </match>
+
  </device>
+
</deviceinfo>
+
 
</pre>
 
</pre>
{{NOTE|The problem (after reading the HAL and pm-utils documentations) is the fact that (as far as I can tell) the T61 Lenovo doesn't allow the S3 BIOS to be called *during* suspend/resume, which HAL seems to do by default (who knows, maybe there are T61s out there that do work with this default)!
+
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.
  
This did not seem to be necessary for previous versions of Ubuntu. Also note that I have an NVIDIA card so I have no idea what to do for Intel versions.The change should also be resistant to HAL and pm-utils upgrades.}}
+
==== 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:  
'''Still no suspend with nvs140m? Got Modell 6460 or 6458?'''
+
 
+
Fix above didn't work for me on a 15.4 wide T61 Modell 6460 with nv140m. Bios is updated to 2.14 but didn't change anything, except the usb bug is fix. Suspend seems to work fine, but resume gives me a black screen (backlight off - no reaction to brightness up) and I can hear 2 beeps. Most of the time I can reboot with ctrl+alt+delete but the screen stays dark until bios.
+
 
+
follow the instructions above but create the new file called: '''/etc/hal/fdi/information/lenovo.fdi''' with the following contents instead:
+
 
<pre>
 
<pre>
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
+
sudo su
<deviceinfo version="0.2">
+
  <device>
+
    <match key="system.hardware.vendor" string="LENOVO">
+
      <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>
+
 
</pre>
 
</pre>
  
Also you want to set the following parameter in
+
Install necessary build packages:
 
+
{{path|/etc/default/acpi-support}}
+
 
<pre>
 
<pre>
SAVE_VIDEO_PCI_STATE=true
+
apt-get install build-essential
 
</pre>
 
</pre>
  
{{NOTE|This works for me with mode 6460, except for one problem: You may get a white screen in xorg after resume when using compiz. If you don't have a 6460 with nvidia this file may break things for you because it doesn't care about the modell and sets the parameter for any lenovo product}}
+
Then close Madwifi if you have it installed before:
{{NOTE|This also works for me with mode 6458, but the first wakeup from suspend takes about 20seconds, the following wakeups only some seconds. Please note that i had to change back the settings described [http://www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_(Gutsy_Gibbon)_on_a_ThinkPad_T61#How_to_Suspend_with_nVidia_140m.2F570m here] but still SAVE_VIDEO_PCI_STATE set to true}}
+
{{HELP|Anyone with more knowledge of hal and acpi-support is welcome to clean this up. I also don't know why this setting can be done via hal and in acpi-support.
+
See below!}}
+
 
+
 
+
'''Works for a 6457CTO:'''
+
 
+
After trying out all these recipes on my 6457CTO waking up from suspend still did not work. Finally I came across a blog entry which pointed out the right way: [[http://david.goodlad.ca/2008/3/14/suspend-hibernate-on-lenovo-t61 David Goodlad's blog]]. I realized that all the fixes proposing editing the acpi-support file or adding a kernel parameter acpi_sleep=s3_mode must be wrong because since hardy gnome-power-manager gets its information solely from hal. So setting up correct hal information is the right way but the proposed solution (creating a /etc/hal/fdi/information/lenovo.fdi file) did not work for me. Ok, but now step by step:
+
 
+
# Revert ALL the proposed fixes from above. I found out that at least the lenovo.fdi solution is actually breaking the real fix. So for sure delete /etc/hal/fdi/information/lenovo.fdi
+
# Find out about the excact hal name of your machine: <pre>hal-device |grep 6457</pre> where 6457 is the model number of my t61, replace it with your own. In my case it spits out something like this: system.hardware.product = '6457CTO'. So now I know that hal identifies my machine as 6457CTO.
+
# <pre>sudo gedit /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi</pre> and add a section to the end of the file, just above the </device> tag and replace 6457CTO with your hal device name:
+
 
<pre>
 
<pre>
      <!-- T61 6457CTO uses NVidia driver -->
+
rmmod ath_pci; rmmod ath_hal
      <match key="system.hardware.product" string="6457CTO">
+
        <!-- Proprietray NVidia driver quirks -->
+
        <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>
+
 
</pre>
 
</pre>
  
Now save and reboot. Now you might run into the problem of coming back from resume into a completely white screen where normally should be the password dialog. Entering your password blindly is not nice but at least you can resume.
+
Download the most recent source code for Ath5k: 
 +
<pre>
 +
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
 +
</pre>
  
{{NOTE|Somehow I couldn't make the wildcard matching work as they did in the lenovo.fdi solution, but that might be due to my shortcomings on that syntax. Anyway matching the device by its full name worked for me. Probably somebody who knows more about the matching could make that wildcard thing work to have a more general solution. Because hal also knows the xorg driver name (info.linux.driver) there should be a way to set up the quirks depending on the driver.}}
+
Before compiling, you need to modify the file compat-wireless-2009-03-30/drivers/net/wireless/ath5k/led.c
 
+
from:
{{NOTE|I have model 6459CTO and run the "nv", not the "nvidia", driver. The nv driver requires the s3_bios and vbemode_restore quirks. I commented out the existing merge directives in /etc/hal/fdi/information/lenovo.fdi and added:
+
 
<pre>
 
<pre>
&lt;!-- My settings: good for the nv driver --&gt;
+
/* IBM-specific AR5212 */
&lt;merge key="power_management.quirk.s3_bios" type="bool"&gt;true&lt;/merge&gt;
+
{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(0, 0) },
&lt;merge key="power_management.quirk.save_pci" type="bool"&gt;true&lt;/merge&gt;
+
&lt;merge key="power_management.quirk.vbemode_restore" type="bool"&gt;true&lt;/merge&gt;
+
&lt;merge key="power_management.quirk.s3_mode" type="bool"&gt;false&lt;/merge&gt;
+
 
</pre>
 
</pre>
Note, /etc/hal/fdi/ is where administrators should put customizations, not /usr/share/hal/fdi/information. More details are [http://www.littleredbat.net/mk/blog/story/71/ here].
+
to:
}}
+
 
+
[[Category:  T61]]
+
 
+
=== TrackPoint ===
+
The [[TrackPoint]] works out of the box, but does not scroll nor does the tap-clicking (press to select) feature work. Therefor see: [[#tap-to-click feature]] To enable using the middle mouse button to scroll, replace the "Configured Mouse" section in {{path|/etc/X11/xorg.conf}} with the following:
+
 
<pre>
 
<pre>
Section "InputDevice"
+
/* IBM-specific AR5212 */
Identifier "Trackpoint"
+
{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(1, 1) },
Driver "mouse"
+
Option "CorePointer"
+
Option "Device" "/dev/input/mice"
+
Option "Protocol" "ImPS/2"
+
Option "ZAxisMapping" "4 5"
+
Option "Emulate3Buttons" "true"
+
Option "EmulateWheel"          "true"
+
Option "EmulateWheelButton"    "2"
+
EndSection
+
 
</pre>
 
</pre>
  
{{NOTE|However, if you need to use external usb mouse, the above configuration is wrong. It will cause odd behavior. Try the following configuration from [http://gentoo-wiki.com/HARDWARE_IBM_Specific_Laptop_Guide#TrackPoint Gentoo Wiki]:}}
+
Save and then move on to compiling the driver, make sure you execute this command in the directory of compat-wireless-2009-03-30/
 
<pre>
 
<pre>
Section "InputDevice"
+
make
      Identifier  "UltraNav TrackPoint"
+
      Driver      "mouse"
+
      Option      "Device"         "/dev/input/mouse1"
+
      Option      "Protocol"            "ExplorerPS/2"
+
      Option      "Emulate3Buttons"    "on"
+
      Option      "Emulate3TimeOut"    "50"
+
      Option      "EmulateWheel"        "on"
+
      Option      "EmulateWheelTimeOut" "200"
+
      Option      "EmulateWheelButton"  "2"
+
      Option      "YAxisMapping"        "4 5"
+
      Option      "XAxisMapping"        "6 7"
+
      Option      "ZAxisMapping"        "4 5"
+
EndSection
+
 
</pre>
 
</pre>
 
Regarding to the {{key|Fn}}+{{key|F8}} to change the input device TrackPoint/Touchpad (to disable/enable Touchpad) requires edit /etc/X11/xorg.conf and add:
 
 
  Option "SHMConfig" "true"
 
 
under:
 
 
 
    Section "InputDevice"
 
      Identifier "Synaptics Touchpad"
 
 
=== Audio ===
 
 
Works great out of the box, just the microphone has to be activated, it 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):
 
 
   
 
   
      Input Source
+
Then confirm that all other drivers are unloaded:
      Capture
+
<pre>
 +
make unload
 +
</pre>
  
*Click Close and there should be two additional tabs "Recording" and "Options".  -
+
Install:
 +
<pre>
 +
make install
 +
</pre>
  
*Click Recording and click on the microphone under the Capture slider so that it no longer has a red line through it, and put the slider up as it may be deactivated. 
+
Load the module:
 +
<pre>
 +
modprobe ath5k
 +
</pre>
  
*Click Options and under capture source select internal mic.
+
Check the wireless network
 +
<pre>
 +
ifconfig wlan0 up; iwconfig 
 +
</pre>
  
To test your mic using Sound Recorder select Capture as the sound source.
+
Your Wi-Fi LED should be blinking happily ever after...
  
This solution has been tested with Sound Recorder and Skype.
+
Now we add Madwifi to blacklist to completely forbid it:
 +
<pre>
 +
echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist
 +
</pre>
  
  
To get the volume controls working:
+
Load ath5k automatically everytime the system starts:
  
*add the following line to /etc/modprobe.d/alsa-base, then reboot
+
<pre>
+
echo "ath5k" >> /etc/modules
      options snd-hda-intel index=0 model=thinkpad
+
</pre>
  
{{NOTE|The volume controls worked fine for me out of the box on a 6460.}}
+
Then the whole process should be done. Happy wifi~
  
=== Multimedia Keys ===
+
If you want to remove ath5k, change directory to the directory compat-wireless-2009-03-30/
 +
<pre>
 +
sudo make uninstall
 +
</pre>
  
Most Multimedia Keys work out of the box, though play, forward and stop buttons often need to be adjusted, therefore, press alt + F2 and type in gnome-keybinding-properties. Then everything works as followed:
+
Unload ath5k:
  
* Fn-PgUp activates/deactivates the thinklight
+
<pre>
* Fn-Up will trigger stop on a media player
+
sudo rmmod ath5k
* Fn-Down will toggle pause and play on a media player
+
</pre>
* 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-F9 ejects cds  >>does not work on all machines, I think this is supposed to eject from a "dock"<< >>fixable with System > Preferences > Keyboard Shortcuts
+
* Fn-F12 hibernates (to disk)
+
* PrtSc opens the screenshot dialog
+
  
 +
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 {{path|/etc/pm/config.d/madwifi}} and adding the single line
 +
<pre>
 +
SUSPEND_MODULES=ath_pci
 +
</pre>
 +
which causes the driver to be unloaded on suspend and reloaded on resume.
  
To enable the back, forward, and the menu keys you'll need to teach XKB what they are.
+
=== Fingerprint Reader with ThinkFinger ===
 +
Here are the general instruction on [http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger how to enable the fingerprint reader with ThinkFinger]
 +
Add the PPA repositories to your source.list (/etc/apt/source.list):
 +
<pre>
 +
deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
 +
deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
 +
</pre>
 +
Update installer:
 +
<pre>
 +
$ sudo apt-get update
 +
</pre>
 +
And install:
 +
<pre>
 +
$ sudo apt-get install thinkfinger-tools
 +
</pre>
 +
From: [http://www.eastwoodzhao.com/ubuntu-810-intrepid-ibex-thinkfinger-fingerprint-reader/ Ubuntu 8.10 Intrepid Ibex - ThinkFinger Fingerprint Reader]
  
* Check the '''XkbLayout''' option (under '''InputDevice''') in your {{path|/etc/X11/xorg.conf}} file to determine which keyboard layout Ubuntu is using (I'll use 'us' for the example).
+
'''NOTE:''' Just the above didn't worked for me. [http://www.thinkwiki.org/wiki/Install_Ubuntu_Intrepid_Ibex_on_a_T61p#Fingerprint_Reader This] did worked like a charm. --[[User:Lunatico|Lunatico]] 22:53, 18 December 2008 (CET)
* Navigate to {{path|/etc/X11/xkb/symbols}} and, as root, open the appropriate layout file (as determined above) in your favorite editor.
+
{{cmduser|cd /etc/X11/xkb/symbols}}
+
{{cmduser|sudo gedit us}}
+
* In the '''xkb_symbols "basic"''' section after the '''name[Group1]= "x";''' (where x is a country name, or similar) line add the following:
+
key <I63> {        [ Menu          ]      };
+
key <I69> {        [ XF86Forward    ]       };
+
key <I6A> {        [ XF86Back      ]       };
+
* Now log out and back in and all three of the buttons should function.
+
  
=== Thinkpad Button ===
+
=== Emulate Wheel (Middle-click scrolling) ===
 +
[http://mvogt.wordpress.com/2008/08/15/xorg-evdev-and-emulatewheel/ 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:
 +
<pre>
 +
sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi
 +
</pre>
 +
Past and save the following code, which will give vertical wheel emulation only:
 +
<pre>
 +
<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>
 +
</pre>
 +
There is [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html another method] to get horizontal scrolling as well, but I don't think it worked for me.
  
Paste the following into /usr/share/hotkey-setup/ibm.hk
+
=== Enabling touchpad on/off key (fn-f8) ===
  setkeycodes e017 148 # thinkpad button
+
The procedure shown [[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_T500#Enabling_Touchpad_on.2Foff_key|here]] for T500 also works for T61.  
You can also just type this into a terminal, to test it for the time of the current session.
+
  
Paste the following into the right file in /usr/share/xmodmap (check your country code)
+
=== Suspend/Hibernate ===
keycode 159 = XF86Terminal
+
==== Nvidia drivers ====
For immediate availability of the button, reload the file by executing
+
One of the many problems associated with the ThinkPad *61 series and '''nvidia''' is the suspend/hibernate feature being broken.
xmodmap <xmodmap.file>
+
  
Then use the "Keyboard Shortcuts" tool under "Preferences".
+
If you have such a problem then try this fix.
  
{{NOTE| You can also follow these instructions: http://www.krizka.net/2008/06/14/the-thinkvantage-button-and-ubuntu-hardy-heron/.
+
First of all make sure that you use '''nvidia''' drivers. System -> Administration -> Hardware drivers and there the activate the latest one.  
They are wrote specifically for a X61, but it works perfectly with the T61 too.}}
+
  
== Items that don't work (a.k.a.: items that need more intense tweaking to get fixed)==
+
Then create file /etc/hal/fdi/information/lenovo.fdi
  
=== tap-to-click feature ===
+
With contents:
 +
<pre>
 +
<?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>
 +
</pre>
 +
Reboot and check suspend and hibernation.
  
For the tap-to-click feature (taping the stick instead of using the left mouse button) i used a configure trackpoint utility: [http://tpctl.sourceforge.net/configure-trackpoint.html] there is a package for ubuntu 7.04 i386, but i compiled it by myself (using amd64):
+
'''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!
  
1.) download the .tar.gz file
 
  
2.) unpack it
+
===== Nvidia driver upgrade to latest version (180.29 currently) =====
  
3.) install libgnomeui-dev
+
If you want to upgrade to latest version, follow these instructions: http://adammichaelroach.com/blog/021809/installing-nvidia-18029-drivers-intrepid
  
{{cmduser|sudo aptitude install libgnomeui-dev}}
+
===== GDM Startup problem with Nvidia 177 or 180 driver versions =====
  
4.) in the folder, do:
+
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
  
{{cmduser|./configure}}
+
Workaround: increase GdmXserverTimeout to 60. Modify /etc/gdm/gdm.conf
 +
<pre>
 +
line 232: GdmXserverTimeout=60
 +
</pre>
  
if everything worked fine:
+
More information in the Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-177/+bug/258357
  
{{cmduser|make}}
+
===== Nvidia performance (Firefox is very slow) and Xorg memory consumption problem =====
  
then install it:
+
Firefox and X.org will stall with these error messages in the log file:
 +
<pre>
 +
[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.
 +
</pre>
 +
For example http://grails.org website stalls Firefox and X.org.
  
{{cmduser|sudo make install}}
+
I've added these settings to xorg.conf. The GDM Startup problem went away too.
 +
<pre>
 +
Section "ServerFlags"
 +
        Option  "Xinerama" "0"
 +
        Option "PixmapCacheSize" "1000000"
 +
        Option "AllowSHMPixmaps" "0"
 +
        Option "PixmapCache" "1"
 +
        Option "PixmapCacheRoundSizeKB" "1024"
 +
        Option "InitialPixmapPlacement" "2"
 +
        Option "GlyphCache" "1"
 +
EndSection
 +
</pre>
  
5.a) Gnome : Open it: System > configure trackpoint, and configure on your needs
+
I added did this from the command line:
 +
<pre>
 +
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
 +
</pre>
  
 +
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
  
5.b) Kde : K-menu > Prefences > configure trackpoint > right-click > edit entry, edit "command" to "kdesu configure-trackpoint"
+
===== /etc/X11/xorg.conf settings with support for beamer =====
  
Save & exit
+
<pre>
 +
Section "Monitor"
 +
        Identifier      "Configured Monitor"
 +
EndSection
  
Open it : K-menu > Prefences > configure trackpoint and configure on your needs
+
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
  
=== Hotswapping ===
+
Section "Module"
 +
        Load    "glx"
 +
EndSection
  
{{HELP|We need someone who is able to get hotswaping to work properly, this is not the right was to do this!}}
+
Section "Device"
With the new kernel, bay-drivers changed, so if you remove the ultrabay it will freeze your system! You can hack it with a simple comand, first you have to look where the device is:
+
        Identifier      "Configured Video Device"
 
+
        Option  "ModeValidation"        "CRT-0: NoEdidModes, NoHorizSyncCheck, NoVertRefreshCheck"
{{cmduser|less /sys/class/scsi_device/(x)\:0\:0\:0/device/model}}
+
        Driver "nvidia"
 
+
        Option "NoLogo"        "True"
for (x) first put in 0, if it tells you DVD or the name of the model you want to hotswap youre right. if not, go on with 1, 2 or 3...
+
EndSection
 
+
then, once you are sure (I deactivated my harddisk like that) you put in:
+
 
+
{{cmduser|echo 1 {{!}} sudo tee /sys/class/scsi_device/(x)\:0\:0\:0/device/delete}}
+
 
+
Now you should be able to remove the device.
+
 
+
{{WARN|Do not use it for harddisks, be sure you unmounted it before! This is just a bad hack, if anyone knows how to get it right --> publish!}}
+
 
+
If Ubuntu does not reactivate the device after putting it in again, do:
+
 
+
{{cmduser|echo 0 0 0 {{!}} sudo tee /sys/class/scsi_host/host1/scan}}
+
 
+
=== Wireless activity LED ===
+
 
+
The LED is not implemented at least in the IWL4965 driver. For the Atheros wifi cards look at the solution below.
+
 
+
For those who don't want to work around this problem and are willing to wait, I have confirmed that the LED works in Ubuntu 8.10 (Intrepid Ibex) Alpha 4 for a T61 with IWL4965, including flashing on activity.  If you can put up with a nonfunctional LED for a while in 8.04, the final Ubuntu 8.10 is due to be released in October 2008.
+
 
+
A patch posted in this [http://bughost.org/bugzilla/show_bug.cgi?id=1209 thread] works for me on R61 with IWL4965 card.
+
 
+
{{HELP|A howto is needed showing the process of implementing the patch in Hardy Heron. If anyone knows how to do this, please create a quick howto and either put it here or link to it from this page. Please and thank you.}}
+
 
+
As an alternative, you can install a backported IWL4965 driver that ''may'' fix the LED problem on your system.
+
 
+
To active WiFi LED,
+
 
+
  sudo apt-get install linux-backports-modules-hardy
+
 
+
{{NOTE|On some machines, (at least one running IWL3945 & IWL4965) applying the above turns on the LED permanently. It should flicker as data is being transmitted. Also, with the above modification, after turning off wireless and then turning it back on (via the switch on the front of the machine) wireless is not reactivated, so not very helpful}}
+
 
+
 
+
You can download a compatible [http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2 driver] which supports WiFi led flicking and build it with modifying the {{path|config.mk}} by adding {{bootparm|CONFIG_IWL3945_LEDS|y}} and {{bootparm|CONFIG_IWLWIFI_LEDS|y}} these two options. For Ubuntu/Debian users, build-essential, linux-source-2.6.24 and linux-headers-generic packages are required.
+
 
+
{{HELP|I added the above lines to the config.mk file and it would not make or make install correctly. I received an error 2 at the end of the make. If you have had success, where did you put the items in the config.mk file for it to make and make install correctly? Thanks in advance.}}
+
 
+
To compile the with these two options enabled, you need to insert the following command into config.mk as well:
+
 
+
  CONFIG_IWLWIFI_DEBUG=y
+
 
+
Or if you don't want debug mode you can edit iwl-led.c in drivers/net/wireless/iwlwifi . At line 198 remove IWL_DEBUG_LED("Led type = %s brightness = %d\n", and it will work - now I have a flickering WiFi led on T61.
+
 
+
==== To enable the Wifi 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:
+
 
+
1) Create a file ~/wifiLED and copy/paste the following into it:
+
 
+
#!/bin/bash
+
#
+
# Commands to enable the wireless LED
+
sysctl dev.wifi0.ledpin=1
+
sysctl dev.wifi0.softled=3
+
 
+
2) sudo cp ~/wifiLED /etc/init.d
+
 
+
3) sudo chmod 755 /etc/init.d/wifiLED
+
 
+
4) sudo update-rc.d wifiLED defaults 90
+
 
+
After you reboot your wireless led should be working.
+
 
+
--[[User:Lunatico|Lunatico]] 14:50, 26 July 2008 (CEST)
+
 
+
=== Hidden SSID ===
+
It has been reported that users wanting to access Hidden SSIDs have to enter the SSID and password manually in Network Manager to connect. Even after the SSID is saved in Network Manager, it will not reconnect automatically. The user has to connect manually by entering the information as previously described.
+
It appears that updating the driver by following the instructions [http://linuxwireless.org/en/users/Download here] resolves this issue.
+
 
+
=== Hard Disk Parking ===
+
Getting hard disk parking to work:
+
 
+
tp_smapi patch is not needed in [http://packages.ubuntu.com/search?keywords=linux-image-2.6.24-18&searchon=names&suite=hardy&section=all linux-image-2.6.24-18]
+
 
+
1. Patch your kernel with the 'protect' [http://www.thinkwiki.org/wiki/HDAPS#Kernel_patch patch].
+
 
+
2. Installing the hdapsd daemon which does the actual parking.
+
 
+
{{cmduser|sudo apt-get install hdapsd hdaps-utils}}
+
 
+
== some other tweaks ==
+
 
+
=== screenblank with {{key|Fn}} + {{key|F3}} ===
+
 
+
Its ok, and might be usefull to get the estimated batterytime when pressing {{key|Fn}}+{{key|F3}}, as it should be. But i dont need that, i find the earlier command for {{key|F3}}, to blank the screen, more useful to save batterylife better.
+
 
+
For that, you must edit {{path|/etc/acpi/thinkpad-lockbattery.sh}} and replace LENOVO by IBM, and IBM by LENOVO :). Do not forget to copy the file before you change it!
+
 
+
=== Enable normal User to Limit CPU Speed ===
+
To let user set the CPU limit you need to open a Terminal an type there
+
sudo dpkg-reconfigure gnome-applets
+
answer the question with yes
+
 
+
=== Fix bluish displays ===
+
Many T61 owners complain about a very bluish color temperature: My T61 WSXGA+ was also way too blue. I came across a thread at the notebook review forum http://forum.notebookreview.com/showthread.php?t=174408 which provided two useful ICC profiles which fixed the situation for me. Just install xcalib
+
sudo apt-get install xcalib
+
and load one of these profiles with xcalib. To omit quoting the filename better rename the profile to something without blanks like t61.icc.
+
 
+
Load the icc file automatically:
+
sudo cp <your icc file> /usr/local/etc/
+
Append the following line to your display manager's config file /etc/gdm/Init/Default (for standard Ubuntu/Gnome) or /etc/kde3/kdm/Xsetup (for Kubuntu/KDE), before the final "exit" statement:
+
/usr/bin/xcalib -d :0 -s 0 /usr/local/etc/<your icc file>
+
 
+
=== Hotplugging of Dual-Head with nvidia (Also with Dock possible)===
+
 
+
Although many forums state it, it is not necessary to use the open-source nv-driver in order to resize the screen with xrandr. Following thread explains sufficently, how to make resizing/switch of screens possible with the proprietary nvidia-driver without restarting X:
+
http://www.linuxquestions.org/questions/linux-software-2/using-nvidia-settings-from-the-command-line-only-647626/
+
  
 +
Section "ServerFlags"
 +
        Option  "Xinerama" "0"
 +
        Option "PixmapCacheSize" "1000000"
 +
        Option "AllowSHMPixmaps" "0"
 +
        Option "PixmapCache" "1"
 +
        Option "PixmapCacheRoundSizeKB" "1024"
 +
        Option "InitialPixmapPlacement" "2"
 +
        Option "GlyphCache" "1"
 +
EndSection
 +
</pre>
  
[[Category: Ubuntu 8.10]]
+
Use "NVidia X Server Settings" (nvidia-settings) application to configure the external monitor (refresh rate & resolution). xrandr will stall, don't use it.
 +
Remove possible "        Option "AllowEmptyInput" "false"" line. In Ubuntu 9.04 Jaunty Jackalope it will cause duplicate/triple key events when you press a key once.

Latest revision as of 15:59, 22 April 2009

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.

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 "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 "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. Remove possible " Option "AllowEmptyInput" "false"" line. In Ubuntu 9.04 Jaunty Jackalope it will cause duplicate/triple key events when you press a key once.