Difference between revisions of "Installing Debian Lenny on a ThinkPad T61"

From ThinkWiki
Jump to: navigation, search
(remarks about IRQ bugs and nvidia card)
m (WiFi: Intel 4965AGN)
 
(22 intermediate revisions by 11 users not shown)
Line 7: Line 7:
  
 
== Kernel Configuration ==
 
== Kernel Configuration ==
* Version: 2.6.22-rc7
+
* Version: 2.6.22
  
 
=== SATA Issues ===
 
=== SATA Issues ===
 
Currently, SATA mode is set to "Compatibility" in the BIOS and I'm using the ATA_PIIX driver, which finds both the hard and the cdrom drive. In AHCI mode, the cdrom is not found. I haven't found any information on that, yet.
 
Currently, SATA mode is set to "Compatibility" in the BIOS and I'm using the ATA_PIIX driver, which finds both the hard and the cdrom drive. In AHCI mode, the cdrom is not found. I haven't found any information on that, yet.
 +
 +
Running in the AHCI mode worked for me - the hard drive showed up as /dev/sda and the cdrom as /dev/hda. K3b finds it and uses it fine.
  
 
=== IRQ Issues ===
 
=== IRQ Issues ===
Line 16: Line 18:
 
<pre>
 
<pre>
 
irq 23: nobody cared (try booting with the "irqpoll" option)
 
irq 23: nobody cared (try booting with the "irqpoll" option)
  [<c0156864>] __report_bad_irq+0x24/0x80
+
  [<c>] __report_bad_irq+0x24/0x80
 
  [<c0156b11>] note_interrupt+0x251/0x290
 
  [<c0156b11>] note_interrupt+0x251/0x290
 
  [<c0155d65>] handle_IRQ_event+0x25/0x50
 
  [<c0155d65>] handle_IRQ_event+0x25/0x50
Line 22: Line 24:
 
  [<c0106bfb>] do_IRQ+0x3b/0x70
 
  [<c0106bfb>] do_IRQ+0x3b/0x70
 
  [<c0104b53>] common_interrupt+0x23/0x28
 
  [<c0104b53>] common_interrupt+0x23/0x28
  [<f8849940>] acpi_processor_idle+0x21e/0x3e2 [processor]
+
  [<f>] acpi_processor_idle+0x21e/0x3e2 [processor]
  [<f8849722>] acpi_processor_idle+0x0/0x3e2 [processor]
+
  [<f>] acpi_processor_idle+0x0/0x3e2 [processor]
  [<c0102434>] cpu_idle+0x84/0xe0
+
  [<c>] cpu_idle+0x84/0xe0
 
  [<c0387a3f>] start_kernel+0x2ef/0x370
 
  [<c0387a3f>] start_kernel+0x2ef/0x370
 
  [<c03871f0>] unknown_bootoption+0x0/0x260
 
  [<c03871f0>] unknown_bootoption+0x0/0x260
Line 39: Line 41:
  
 
==== Temporary Workaround 2 ====
 
==== Temporary Workaround 2 ====
Adding {{noirqdebug}} to the kernel commandline at least removes the messages. Let's hope for a BIOS update from Lenovo.
+
Adding noirqdebug to the kernel commandline at least removes the messages. Let's hope for a BIOS update from Lenovo.
 +
 
 +
==== Eventual Solution ====
 +
With the BIOS version 2.07-1.08, the IRQ handling issues are gone, the "noirqdebug" commandline options can be removed.
  
 
=== Custom Patches ===
 
=== Custom Patches ===
None so far.
+
ThinkPad ACPI Extras v0.15-20070723 ([http://ibm-acpi.sf.net/]). With the latest version, brightness control works under X11.
  
  
Line 48: Line 53:
 
I checked out both alsa-driver and alsa-kernel from the repositories ([http://www.alsa-project.org/download.php]) and built the modules for my kernel. After installation, sound (both headphone jack & internal speakers) works just fine. Haven't checked the MIC yet.
 
I checked out both alsa-driver and alsa-kernel from the repositories ([http://www.alsa-project.org/download.php]) and built the modules for my kernel. After installation, sound (both headphone jack & internal speakers) works just fine. Haven't checked the MIC yet.
  
== Graphics: NVidia Quadro NVS 140M ==
+
Debian users (both Stable/Etch and Testing) can use the small script [http://www.klabs.be/~fpiat/linux/debian/Lenny_on_Thinkpad_T61/#Sound 2] i wrote to patch and build an alsa module package (with module-assistant). --Fpiat 00:52,20 August 2007 (UTC)
 +
 
 +
With kernel 2.6.23, the workarounds above are not needed any more. --[[User:TorstenMarek|TorstenMarek]] 11:17, 27 September 2007 (UTC)
 +
 
 +
== Graphics: ==
 +
===NVidia Quadro NVS 140M ===
 
* Driver: nvidia
 
* Driver: nvidia
 
* Version: 100.14.11
 
* Version: 100.14.11
Line 54: Line 64:
 
The Debian packages work just fine. There seem to be some (known) issues with framebuffers console. OpenGL applications and games work just fine, Darwinia ([http://darwinia.co.uk Darwinia] and Defcon ([http://www.everybody-dies.com]) run smoothly at 1440x900.  
 
The Debian packages work just fine. There seem to be some (known) issues with framebuffers console. OpenGL applications and games work just fine, Darwinia ([http://darwinia.co.uk Darwinia] and Defcon ([http://www.everybody-dies.com]) run smoothly at 1440x900.  
  
 +
I installed the drivers using ENVY. It worked, just download the latest package at http://www.albertomilone.com/nvidia_scripts1.html, and run it, the driver's installation it's quite easy.
  
 +
(Note: "100.14.11" etc are referring to the commercial drivers, right, like ENVY?) Another statement about the open drivers in Debian: it's called "nv" there (and comes in the xserver-xorg-video-nv package). The driver from lenny as of 2008-04-17 did't work on my T61 Quadro NVS 140M (rev a1) (it would just turn the screen black and then not proceed), whereas the one from unstable (version 1:2.1.8-3) does (I did reinstall all of xorg from unstable though, using apt pinning).
 +
 +
==== Problems ====
  
=== Problems ===
 
 
With 100.14.09 and RenderAccel/Compositing, I occasionally got hard locks after a couple of minutes, not even SysRq can reboot the machine. Only the NumLock LED is blinking, and no suspicious entries are in the logs. With 100.14.11 and no RenderAccel, the lockups are less frequently. I'm still trying to figure out which configuration makes them go away.  
 
With 100.14.09 and RenderAccel/Compositing, I occasionally got hard locks after a couple of minutes, not even SysRq can reboot the machine. Only the NumLock LED is blinking, and no suspicious entries are in the logs. With 100.14.11 and no RenderAccel, the lockups are less frequently. I'm still trying to figure out which configuration makes them go away.  
  
* I've tried to pci=nommcconf on the kernel commandline, didn't help.  
+
* I've tried to pci=nommcconf on the kernel commandline, didn't help.
 +
 
 +
With 100.14.19, the lockups seem to be a thing of the past.
 +
 
 +
===Intel 965GM===
 +
* Driver: intel
 +
 
 +
For versions of the intel driver earlier than 2.1.1, the following is required for proper display scaling:
 +
 
 +
<pre>
 +
Section "Monitor"
 +
        Identifier      "TV"
 +
        Option          "Ignore"        "true"
 +
EndSection
 +
 
 +
Section "Monitor"
 +
        Identifier      "Generic Monitor"
 +
        Option          "DPMS"
 +
        DisplaySize    332 207
 +
EndSection
 +
</pre>
  
 +
This bug was fixed in xf86-video-intel 2.1.1.
  
 
== WiFi: Intel 4965AGN ==
 
== WiFi: Intel 4965AGN ==
* Driver: iwlwifi
+
 
 +
With kernel 2.6.24RC3 the driver comes part of the kernel and does not need manual installation. You still have to copy and install the firmware though.
 +
 
 +
* Driver: [[iwl4965]]
 
* Version: 0.0.34
 
* Version: 0.0.34
  
 
Since mac80211 is already a part of 2.6.22, only the [http://intellinuxwireless.org/?p=iwlwifi iwlwifi module] needs to be compiled. Following the instructions in the source package was sufficient. The module loads & finds some hardware and I can successfully scan for networks. Connecting to our local WiFi access point using WPA works just fine.
 
Since mac80211 is already a part of 2.6.22, only the [http://intellinuxwireless.org/?p=iwlwifi iwlwifi module] needs to be compiled. Following the instructions in the source package was sufficient. The module loads & finds some hardware and I can successfully scan for networks. Connecting to our local WiFi access point using WPA works just fine.
 +
 +
:How did you get this to work?  I am following the INSTALL file to the letter, and I'm getting errors.  Thanks. Aug 21, 2007 02:38 UTC  [[user:Atoponce|Atoponce]]
 +
 +
Installation of linux-image-2.6.22-2-686 along with linux-headers-2.6.22-2-686 works with mac80211 8.0.2 patched in (from the mac80211-8.0.2 directory: ln -s /lib/modules/$(uname -r)/build /lib/modules/$(uname -r)/source; make patch_kernel), iwlwifi-4965-ucode-4.44.17 and iwlwifi-0.0.42. Steps for installation are given below.
 +
 +
If you haven't installed the unstable 2.6.22-2-686 kernel yet that needs to be done and reboot into it. Remember to add unstable or sid to your sources.list.
 +
 +
{{cmdroot|aptitude install linux-image-2.6.22-2-686}}
 +
 +
{{cmdroot|reboot}}
 +
 +
 +
Now install the headers and build/install the driver.
 +
 +
{{cmdroot|aptitude install linux-headers-2.6.22-2-686}}
 +
 +
{{cmdroot|ln -s /lib/modules/$(uname -r)/build /lib/modules/$(uname -r)/source}}
 +
 +
{{cmdroot|cd}}
 +
 +
{{cmdroot|wget http://intellinuxwireless.org/mac80211/downloads/mac80211-8.0.2.tgz}}
 +
 +
{{cmdroot|wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz}}
 +
 +
{{cmdroot|wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-0.0.42.tgz}}
 +
 +
{{cmdroot|tar xzf mac80211-8.0.2.tgz}}
 +
 +
{{cmdroot|tar xzf iwlwifi-4965-ucode-4.44.17.tgz}}
 +
 +
{{cmdroot|iwlwifi-0.0.42.tgz}}
 +
 +
{{cmdroot|cd mac80211-8.0.2}}
 +
 +
{{cmdroot|make; make patch_kernel}}
 +
 +
{{cmdroot|cd ../iwlwifi-0.0.42.tgz}}
 +
 +
{{cmdroot|make; make install}}
 +
 +
{{cmdroot|cp iwlwifi-4965-ucode-4.44.17/*.ucode /lib/firmware}}
 +
 +
{{cmdroot|modprobe iwl4965}}
 +
 +
This same procedure should work with amd64 kernels with the obvious change to the linux-image and linux-header package installations above. The procedure should also work for the 3945 card provided you've removed the ipw3945 drivers before running the modprobe line.
 +
 +
 +
Another (less complicated) way to get it to work is following:
 +
 +
If you have added non-free repositories, you can install a package called firmware-iwlwifi [http://packages.debian.org/lenny/firmware-iwlwifi]. The Debian-Package-Info page says, that it is architecture independent.
 +
 +
That package contains the binary firmware for Intel Wireless 3945 and 4965 cards.
 +
 +
But the disadvantage referred to the kernel patch is, that it isn't open source.
 +
 +
== WiFi: ThinkPad 11a/b/g Wi-Fi wireless LAN Mini-PCIe US/EMEA/LA/ANZ  (Atheros) ==
 +
 +
Using madwifi which is very easy or downloading the modules from the page and using ndviswrapper(not recommended, uncharted waters). Just add
 +
"deb ftp://ftp.au.debian.org/debian unstable main contrib non-free"
 +
"deb-src ftp://ftp.au.debian.org/debian unstable main contrib non-free"
 +
to the repositories in /etc/apt/sources.list and;
 +
 +
then as root:
 +
# apt-get update
 +
# apt-get install madwifi-source
 +
# apt-get install madwifi-tools
 +
# m-a prepare
 +
# m-a a-i madwifi
 +
 +
then its all done, worked for me. For more information http://madwifi.org/
  
 
== Bluetooth ==
 
== Bluetooth ==
Line 73: Line 180:
 
== Fingerprint Sensor ==
 
== Fingerprint Sensor ==
 
Works with [http://thinkfinger.sourceforge.net ThinkFinger].
 
Works with [http://thinkfinger.sourceforge.net ThinkFinger].
 +
 +
==References==
 +
* This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo)].
 +
  
 
{{T61}}
 
{{T61}}

Latest revision as of 18:43, 18 November 2008

Hardware

ThinkPad T61 7663-13G

Overview

Kernel Configuration

  • Version: 2.6.22

SATA Issues

Currently, SATA mode is set to "Compatibility" in the BIOS and I'm using the ATA_PIIX driver, which finds both the hard and the cdrom drive. In AHCI mode, the cdrom is not found. I haven't found any information on that, yet.

Running in the AHCI mode worked for me - the hard drive showed up as /dev/sda and the cdrom as /dev/hda. K3b finds it and uses it fine.

IRQ Issues

Occasionally, I get messages like

irq 23: nobody cared (try booting with the "irqpoll" option)
 [<c>] __report_bad_irq+0x24/0x80
 [<c0156b11>] note_interrupt+0x251/0x290
 [<c0155d65>] handle_IRQ_event+0x25/0x50
 [<c015725b>] handle_fasteoi_irq+0xbb/0xf0
 [<c0106bfb>] do_IRQ+0x3b/0x70
 [<c0104b53>] common_interrupt+0x23/0x28
 [<f>] acpi_processor_idle+0x21e/0x3e2 [processor]
 [<f>] acpi_processor_idle+0x0/0x3e2 [processor]
 [<c>] cpu_idle+0x84/0xe0
 [<c0387a3f>] start_kernel+0x2ef/0x370
 [<c03871f0>] unknown_bootoption+0x0/0x260
 =======================
handlers:
[<f888b530>] (usb_hcd_irq+0x0/0x60 [usbcore])
Disabling IRQ #23

Unfortunately, adding irqpoll to the boot command line only leads to frequent losses of Ethernet connectivity.

Temporary Workaround

When the message appears, USB devices will start to behave weird (USB keyboards & mice lag etc). Unloading and loading ehci-hcd fixes this problem, for now.

Temporary Workaround 2

Adding noirqdebug to the kernel commandline at least removes the messages. Let's hope for a BIOS update from Lenovo.

Eventual Solution

With the BIOS version 2.07-1.08, the IRQ handling issues are gone, the "noirqdebug" commandline options can be removed.

Custom Patches

ThinkPad ACPI Extras v0.15-20070723 ([1]). With the latest version, brightness control works under X11.


Sound: AD1984

I checked out both alsa-driver and alsa-kernel from the repositories ([2]) and built the modules for my kernel. After installation, sound (both headphone jack & internal speakers) works just fine. Haven't checked the MIC yet.

Debian users (both Stable/Etch and Testing) can use the small script 2 i wrote to patch and build an alsa module package (with module-assistant). --Fpiat 00:52,20 August 2007 (UTC)

With kernel 2.6.23, the workarounds above are not needed any more. --TorstenMarek 11:17, 27 September 2007 (UTC)

Graphics:

NVidia Quadro NVS 140M

  • Driver: nvidia
  • Version: 100.14.11

The Debian packages work just fine. There seem to be some (known) issues with framebuffers console. OpenGL applications and games work just fine, Darwinia (Darwinia and Defcon ([3]) run smoothly at 1440x900.

I installed the drivers using ENVY. It worked, just download the latest package at http://www.albertomilone.com/nvidia_scripts1.html, and run it, the driver's installation it's quite easy.

(Note: "100.14.11" etc are referring to the commercial drivers, right, like ENVY?) Another statement about the open drivers in Debian: it's called "nv" there (and comes in the xserver-xorg-video-nv package). The driver from lenny as of 2008-04-17 did't work on my T61 Quadro NVS 140M (rev a1) (it would just turn the screen black and then not proceed), whereas the one from unstable (version 1:2.1.8-3) does (I did reinstall all of xorg from unstable though, using apt pinning).

Problems

With 100.14.09 and RenderAccel/Compositing, I occasionally got hard locks after a couple of minutes, not even SysRq can reboot the machine. Only the NumLock LED is blinking, and no suspicious entries are in the logs. With 100.14.11 and no RenderAccel, the lockups are less frequently. I'm still trying to figure out which configuration makes them go away.

  • I've tried to pci=nommcconf on the kernel commandline, didn't help.

With 100.14.19, the lockups seem to be a thing of the past.

Intel 965GM

  • Driver: intel

For versions of the intel driver earlier than 2.1.1, the following is required for proper display scaling:

Section "Monitor"
        Identifier      "TV"
        Option          "Ignore"        "true"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        Option          "DPMS"
        DisplaySize     332 207
EndSection

This bug was fixed in xf86-video-intel 2.1.1.

WiFi: Intel 4965AGN

With kernel 2.6.24RC3 the driver comes part of the kernel and does not need manual installation. You still have to copy and install the firmware though.

Since mac80211 is already a part of 2.6.22, only the iwlwifi module needs to be compiled. Following the instructions in the source package was sufficient. The module loads & finds some hardware and I can successfully scan for networks. Connecting to our local WiFi access point using WPA works just fine.

How did you get this to work? I am following the INSTALL file to the letter, and I'm getting errors. Thanks. Aug 21, 2007 02:38 UTC Atoponce

Installation of linux-image-2.6.22-2-686 along with linux-headers-2.6.22-2-686 works with mac80211 8.0.2 patched in (from the mac80211-8.0.2 directory: ln -s /lib/modules/$(uname -r)/build /lib/modules/$(uname -r)/source; make patch_kernel), iwlwifi-4965-ucode-4.44.17 and iwlwifi-0.0.42. Steps for installation are given below.

If you haven't installed the unstable 2.6.22-2-686 kernel yet that needs to be done and reboot into it. Remember to add unstable or sid to your sources.list.

# aptitude install linux-image-2.6.22-2-686

# reboot


Now install the headers and build/install the driver.

# aptitude install linux-headers-2.6.22-2-686

# ln -s /lib/modules/$(uname -r)/build /lib/modules/$(uname -r)/source

# cd

# wget http://intellinuxwireless.org/mac80211/downloads/mac80211-8.0.2.tgz

# wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz

# wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-0.0.42.tgz

# tar xzf mac80211-8.0.2.tgz

# tar xzf iwlwifi-4965-ucode-4.44.17.tgz

# iwlwifi-0.0.42.tgz

# cd mac80211-8.0.2

# make; make patch_kernel

# cd ../iwlwifi-0.0.42.tgz

# make; make install

# cp iwlwifi-4965-ucode-4.44.17/*.ucode /lib/firmware

# modprobe iwl4965

This same procedure should work with amd64 kernels with the obvious change to the linux-image and linux-header package installations above. The procedure should also work for the 3945 card provided you've removed the ipw3945 drivers before running the modprobe line.


Another (less complicated) way to get it to work is following:

If you have added non-free repositories, you can install a package called firmware-iwlwifi [4]. The Debian-Package-Info page says, that it is architecture independent.

That package contains the binary firmware for Intel Wireless 3945 and 4965 cards.

But the disadvantage referred to the kernel patch is, that it isn't open source.

WiFi: ThinkPad 11a/b/g Wi-Fi wireless LAN Mini-PCIe US/EMEA/LA/ANZ (Atheros)

Using madwifi which is very easy or downloading the modules from the page and using ndviswrapper(not recommended, uncharted waters). Just add "deb ftp://ftp.au.debian.org/debian unstable main contrib non-free" "deb-src ftp://ftp.au.debian.org/debian unstable main contrib non-free" to the repositories in /etc/apt/sources.list and;

then as root:

  1. apt-get update
  2. apt-get install madwifi-source
  3. apt-get install madwifi-tools
  4. m-a prepare
  5. m-a a-i madwifi

then its all done, worked for me. For more information http://madwifi.org/

Bluetooth

My Logitech Bluetooth mouse works.

Fingerprint Sensor

Works with ThinkFinger.

References


T61