InstallingDebianOn/Ratings

Models covered
Thinkpad T60 and T60p

Sub-models (1951, 1952, 1953, 1954, 1955, 1956, 6369) options :
- Video card (Intel or ATI radeon or ATI FireGL)
- Screen size (14", 15", or 15" wide)
- Wireless card
- Disk and Ram size, optical device
- Other options, like fingerprint reader, bluetooth...

Overall Status

Core Components

T60-models_nov06.jpg

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect CD/DVD:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK} {i}

Hibernation

{OK}

Sleep / Suspend

/!\

Xorg (intel models)

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Xorg (ati radeon models)

[?]

Switch to External Screen

{OK} {i}

Xorg (ati fireGL models) rare

[?]

Mouse

- Built-in (Trackpoint)

{OK}

- Built-in (Touchpad)

{OK}

Modem

{OK} {i} X-(

Wireless/Wifi (I3945 models)

{OK} {i} X-(

Wireless/Wifi (Artheos)

[?]

Keyboard's Hotkeys

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a proprietary driver

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owner would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

Important Note

{X} There is currently a bug that prevent the computer from resuming properly from suspend and from hibernation. To avoid it, you just have to enter the BIOS and configure SerialATA in "compatibility mode" (not ahci mode)

Configuration

This computer can be purchased in one of the following video adapter :

Display / Intel 945

Xorg

The graphic adapter is an "Integrated Graphics Chipset: Intel(R) 945GM"
(device_identifier/PCI 8086:27a2)

Xwindow was properly configured automatically (using Driver "i810"). You can find a sample xorg.conf (#attachments).

OpenGL

(not covered)

Switching to External Screen

Currently, pressing Fn-F7 doesn't work (BIOS 1.07 to 2.06).

package i810switch doesn't handle this i945 card either (see bug 374638), but you can rebuild it :

apt-get install apt-build wget

#The wget command is on one single line :
wget -O /tmp/i810switch_macbook_support.patch 'http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638;msg=15;filename=i810switch_macbook_support.patch;att=1'

apt-build update
apt-build build-source i810switch --patch /tmp/i810switch_macbook_support.patch

then install the package variant (with aptitude..). It's the latest version (tagged as not signed / "unsecure").

See i810rotate and i810switch manpages.

{*} TODO: get Fn-F7 to work !

High resolution external screen

If your monitor can display resolution higher than 1280x1024, you'll need this tweak:

package: 915resolution

/etc/default/915resolution
        #configure the following lines to define a 1920x1200 BIOS mode.
        MODE=5c
        XRESO=1920
        YRESO=1200

/etc/hibernate/common.conf 
        #Enabled to allow hibernate and Xorg to restore video mode properly.
        Runi915resolution yes   

Display / ATI M52 Radeon

Device is an "ATI Mobility Radeon X1300"

(device_identifier/PCI 1002:7149) (not covered)

Xorg

(the xorg (7.1) open-source driver doesn't seems to support the X1300. you have to use the "vesa" driver, or ati's proprietary driver [ package fglrx-driver ?]).

Nguyen ThanhVu gives the following explanation ATI X1300 on Inspiron which probably apply to this laptop too :

apt-get install fglrx-control fglrx-driver fglrx-kernel-src
m-a prepare
m-a a-i fglrx #build the module

# set up the xorg.conf file.
aticonfig --initial --input=/etc/X11/xorg.conf

Make sure the Video Device section in the xorg.conf file uses fglrx driver. Something like:

Section "Device"
    Identifier "aticonfig-Device[0]"
    Driver "fglrx"
EndSection

OpenGL

This device/feature works (with 3D acceleration) using the fglrx driver.

Display / ATI M56GL FireGL

Device is a "MOBILITY FireGL V5200 (M56 71C4)"

(device_identifier/PCI 1002:71c4)

(not covered, probably the same configuration as for the ATI X1300)

Xorg

(the xorg (7.1) open-source driver doesn't seems to support the FireGL V5200. you have to use the "vesa" driver, or ati's proprietary driver [ package fglrx-driver ?]).

Audio / Intel hda 82801G

Device is a "High Definition Audio Controller : Intel 82801G (ICH7 Family)"

(device_identifier/PCI 8086:27D8)

Which uses Intel's "high definition audio" module : snd-hda-intel

it wasn't configured properly out of the box (couldn't hear any sound)... i had to run "alsaconf" from the console (not an xterm).

Keyboard

The Thinkpad hotkeys aren't all handled the same way : Some are captured as ACPI, some aren't.

package: hotkey-setup

key

Action

Status

Comments

Fn+F2

Lock screen

Working

Configuration required

Fn+F3

Battery Status

Not handled

Fn+F4

Suspend

Not tested

Fn+F5

Wireless

Working

Fn+F7

Switch screen

working

Configuration required

Fn+F8

Switch Mouse

Not working

Might work

Fn+F9

Eject

Not tested

Not tested

Fn+F12

Hibrernation

Not tested

Not tested

Fn+Up/Dn..

Media Play/Pause..

Working

Configuration required

Power-Management keys

Multimedia keys

To enable Multimedia control (usable with Rhythmbox,totem, and maybe more), add the following lines to your ~/.xmodmap or /etc/X11/Xmodmap (thanks to http://thinkwiki.org/wiki/Installing_Ubuntu_6.10_%28Edgy_Eft%29_on_a_ThinkPad_T60 )

keycode 234 = XF86Back
keycode 233 = XF86Forward
keycode 159 = XF86Start
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 153 = XF86AudioNext
keycode 144 = XF86AudioPrev
keycode 227 = XF86LaunchF
keycode 249 = XF86ZoomIn

Lock screen

Under gnome, go to Menu/Desktop/Preferences/Keyboard Shortcuts,Goto to "Lock Screen" then replace the default "Ctrl-Alt-l" with Fn-F2 (press and hold "Fn", then click, then press F2).

Mouse

The Thinkpad T60 has a two built-in mouse : a Touchpad and a Trackpoint (both working out of the box). Each mouse's data is available through a separate /dev/mouse{0,1} and the combination of both events are available in /dev/mice.

Built-in Touchpad

(device identifier "SynPS/2 Synaptics TouchPad", as reported by cat /proc/bus/input/devices) The first mouse is Synaptics Touchpad. If you want to tweak default configuration/behaviour, use touchpad configuration tool: package: (optional:tpconfig)

Under X11, Touchpad was automaticaly and properly configured during installation.

/etc/X11/xorg.conf
        Section "InputDevice"
                Identifier      "Synaptics Touchpad"
                Driver          "synaptics"
                Option          "SendCoreEvents"        "true"
                Option          "Device"                "/dev/psaux"
                Option          "Protocol"              "auto-dev"
                Option          "HorizScrollDelta"      "0"
        EndSection

Built-in Trackpoint

(device identifier "TPPS/2 IBM TrackPoint", as reported by cat /proc/bus/input/devices)

The other built-in mouse is a Trackpoint. The mouse wasn't working, but middle button doesn't scroll by default, some tweaking was required :

/etc/X11/xorg.conf
        Section "InputDevice"
                Identifier      "Configured Mouse"
                Driver          "mouse"
                Option          "CorePointer"
                Option          "Device"               "/dev/input/mice"
                Option          "Protocol"             "ImPS/2"
                #Comment this line out.
                #Option          "Emulate3Buttons"      "true"
                #add those three lines
                Option          "EmulateWheel"          "true"
                Option          "EmulateWheelTimeOut" "200"
                Option          "EmulateWheelButton"    "2"
                #more information http://thinkwiki.org/wiki/How_to_configure_the_TrackPoint
        EndSection

Power Management

Configuring Suspend

(Needs Testing)

Configuring Hibernation

Works out of the box.

WiFi / Intel 3945

This device is an ieee802.11abg wifi card : "Intel PRO/Wireless 3945ABG Network Connection"
(device identifier PCI 8086:4227).

You will need to install the non-free firmware

in /etc/apt/sources.list
        #Add  "non-free" and "contrib" for ipw3945
        deb http://ftp.debian.org/debian/ etch main contrib non-free

then run the following commands

apt-get install firmware-ipw3945 ipw3945d ipw3945-modules-$(uname -r)

You have to run "modprobe ipw3945" or to reboot.

Radio Switch

Make sure "radio" switch isn't turn off.

For diagnostic purpose, dmesg will show one of the following messages when you load ipw3945, depending on the radio switch state:

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.3dmpr
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

followed by either :

ipw3945: Radio Frequency Kill Switch is On:
Kill switch must be turned off for wireless networking to work.

or this (if radio is enabled) :

ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)

Wireless : Thinkpad 802.11abg

device : "03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)"

(Not covered yet)

Bluetooth

Some Thinkpad have a built-in "Broadcom BCM2045B" bluetooth adapter.
(?device identifier/USB 0a5c:2110)

No configuration is required.

The "Radio Switch" has to be "on" ?Footnote(it isn't stricly required, see /proc/acpi/ibm/bluetooth), also you need to have loaded the "ibm_acpi" module (modprobe it and/or add it in /etc/modules)

Modem

The modem is an sl-modem one. You will need to compile the "Smart Link Soft Modem" module. (This compile will only compile under i386-?86. i.e it won't compile on an amd64 kernel)

/etc/apt/sources.list
        #Add  "non-free" and "contrib" for "sl-modem" module.
        deb http://ftp.XX.debian.org/debian/ etch main contrib non-free

Then run :

        apt-get install module-assistant pppconfig 
        m-a prepare
        m-a update
        m-a a-i sl-modem
        apt-get install sl-modem-daemon

The modem is available using device /dev/slamr0


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub [8086:27a0] (rev 03)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a2] (rev 03)
00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 [8086:27d0] (rev 02)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 [8086:27d2] (rev 02)
00:1c.2 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 [8086:27d4] (rev 02)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 [8086:27d6] (rev 02)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8] (rev 02)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9] (rev 02)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca] (rev 02)
00:1d.3 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb] (rev 02)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc] (rev 02)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev e2)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9] (rev 02)
00:1f.2 IDE interface [0101]: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller [8086:27c4] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da] (rev 02)
02:00.0 Ethernet controller [0200]: Intel Corporation 82573L Gigabit Ethernet Controller [8086:109a]
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02)
15:00.0 CardBus bridge [0607]: Texas Instruments PCI1510 PC card Cardbus Controller [104c:ac56]

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 004 Device 002: ID 0a5c:2110 Broadcom Corp.
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                2 BCM2045B
  (Bus Powered)

without OHCI, UHCI, EHCI Host controllers entries

Resources

Attachments

Some configuration files and sample outputs.

(none)

Credits