Translation(s): none

(!) ?Discussion

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.

Models covered
Thinkpad T500 Could be useful for other Thinkpad models with the same hardware, possibly the T400, R500, W500, T410, or T510.

Sub-models (2242) options :
- Video card (Intel 4500MHD)
- Screen size (15" wide)
- Wireless card: Intel WiFi 5300
- Integrated camera, 7-in-1 Media Card reader, Bluetooth, Firewire
- See http://www.thinkwiki.org/wiki/Category:T500 for more detail on available options.

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect CD/DVD:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg

{OK} see notes

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Switch to External Screen

[?]

Mouse

- Built-in (Trackpoint)

{OK}

- Built-in (Touchpad)

{OK}

Modem

[?]

Wireless/Wifi

X-(

Keyboard's Hotkeys

{i}

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 non-free driver and or firmware

Important Note

Configuration

Display

The Thinkpad T500 comes with two graphics options: Integrated and Discrete. Both include an Integrated Intel GMA 4500MHD, while the Discrete option also includes an ATI Mobility Radeon 3650, with the ability to switch between the two at will.

Intel GMA 4500MHD

The integrated graphics option is an Integrated Intel GMA 4500MHD, also known as "Intel Mobile 4 Series" (PCI ID: 8086:2a40, 8086:2a42, 8086:2a43). At the kernel level, this is handled by the agpgart-intel and i915 modules.

X works fine out of the box with the intel driver (package xserver-xorg-video-intel). Both the Trackpoint and TouchPad also work fine. No xorg.conf is needed, unless you want to tweak the touchpad settings or enable scrolling with the trackpoint.

ATI Mobility Radeon 3650

The T500 can have to graphics cards. Mine as an Intel graphic card for small performance and an ATI Mobility Radeon 3650 for higher performance. On Microsoft Windows you can switch between these two cards, depending on the performance needed. In the BIOS you can set how to use your graphic cards, see BIOS Setup -> Config -> Display -> Graphics Device setting

1. Integrated, for Intel Mobile 4 Series 2. Discrete, for ATI Mobility Radeon 3650

3. Switchable

If you set the Modus to Integrated or Switchable, Debian with work out of the box. If you want to use the ATI Mobility Radeon 3650 you have two options:

1. Download the proprietary driver for ATI Mobility Radeon 3650 form http://support.amd.com and install it.

2. Follow the wiki: AtiHowTo, in addition you have to turn of KMS. For that see: KernelModesetting

Before you now restart the system, you have to switch the Graphics Device setting in the BIOS to "Discrete". THIS IS VERY IMPORTANT! Otherwise you end up with a black screen.

Audio

The T500 has an Intel Corporation 82801I (ICH9 Family) HD Audio Controller (PCI ID: 8086:293e), which is handled by the snd-hda-intel and snd-hda-codec-conexant kernel modules. The laptop does not have a separate PC speaker, this functionality is also provided by the soundcard.

ALSA works fine out of the box. Note that, as of kernel 2.6.32.3, neither the console bell nor the headphone/mic jack input events will function if the card goes into powersave mode. If this is a concern to you, you may want to add the following line to an appropriate file in /etc/modprobe.d:

options snd_hda_intel power_save=0 power_save_controller=N

The mute and volume hot keys do not work out of the box. In pre-2.6.31 kernels, the mute button does not even send events to the operating system unless acpi_osi="Linux" is added to the kernel boot parameters;1 2.6.31 and later enable this by default for the T500.

To get the volume keys to actually adjust the volume using the acpid package, I added three files to /etc/acpi/events (local-volume-down, local-volume-up, local-volume-mute) which reference two small shell scripts (adj-volume and toggle-mute).

Power Management

Both suspend and hibernate work out of the box with the pm-utils package.

The Fn+F4 (suspend) hotkey also works out of the box with the acpi-support package installed, however the Fn+F12 (hibernate) hotkey requires a file added to /etc/acpi/events (local-hibernatebtn).

Ethernet

The built-in ethernet card is an Intel Corporation 82567LM Gigabit Network Connection (PCI ID: 8086:10f5). It works out of the box with the e1000e kernel module.

WiFi

Several wireless cards are available, including:

The 5300 works fine once the firmware-iwlwifi package from non-free is installed. See iwlagn for more info.

Note that the Fn+F5 (rfkill) hotkey is mapped to wlan by default in udev, so if you use the rfkill-input kernel module it will disable your WiFi. Also, I believe this key is handled by acpi-support to do a four-state manipulation of both the WiFi and Bluetooth radios. If you want to use this just for Bluetooth, the following line in a file in /etc/udev/rules.d combined with rfkill-input will fix it:

ACTION=="add",SUBSYSTEM=="input",KERNELS=="input*", ATTRS{name}=="ThinkPad Extra Buttons", RUN+="/lib/udev/keymap $name 0x004 bluetooth"

Also, the iwl module by default blinks the led every time a packet is send or received, which can be extremely annoying. In kernel versions before 2.6.33, the following udev rule will fix that:

KERNEL=="iwl-phy[0-9]*::[TR]X",WAIT_FOR="trigger",ATTR{trigger}="none"

In 2.6.33, these led devices were removed; to disable the blinking here, set led_mode=1 for iwlcore. If you have it compiled as a module, the following in a file in /etd/modprobe.d will do it:

options iwlcore led_mode=1

Modem

Card Reader

The 7-in-1 card reader is actually four devices:

The first is supported by the sdhci-pci kernel module, and the second by the ricoh-mmc kernel module (untested). The other two are not supported at this time.

Camera

If so configured, a built-in 1280x1024 camera is connected via USB (USB ID: 17ef:4807) and works out of the box with the uvcvideo driver.

Hotkeys

tp-smapi

tp-smapi handles a number of advanced features on a Thinkpad. To get it, install the tp-smapi-modules package corresponding to your kernel.

Note that tp-smapi may need options thinkpad_ec force_io=1 set in a file in /etd/modprobe.d in order to load the modules correctly.

HDAPS

The Thinkpad T500 includes an accelerometer, which userspace can use to park the hard disk if it seems the laptop is falling. This seems to work fine out of the box with the hdapsd and appropriate tp-smapi-modules packages installed (but I haven't dropped my laptop to test it).

The accelerometer readings are also exported as joystick devices in /dev/input, meaning that you can play games by tilting your laptop. At this time, two joystick devices are created by udev: the first works as expected, but the second is unusable and may be removed in a future version of the driver. Until that time, this bogus joystick device node may be removed with a rule such as this in an appropriate file in /etc/udev/rules.d:

KERNEL=="js[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{name}=="ThinkPad HDAPS accelerometer data",NAME=""

Advanced battery control

Li-Ion batteries last longer if they are kept about 30%-80% charged. The T500 can handle this automatically if correctly instructed. To do so, install sysfsutils and add the following lines to /etc/sysfs.conf:

devices/platform/smapi/BAT0/start_charge_thresh = 30
devices/platform/smapi/BAT0/stop_charge_thresh = 85

Sensors

The temperature sensors are best supported by the thinkpad-acpi kernel module; i801_smbus can also be used.

See ThinkWiki for more information.

Misc


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 07)
00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)
00:19.0 Ethernet controller [0200]: Intel Corporation 82567LM Gigabit Network Connection [8086:10f5] (rev 03)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
00:1a.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.3 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 [8086:2946] (rev 03)
00:1c.4 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 [8086:2948] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M-E LPC Interface Controller [8086:2917] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation ICH9M/M-E SATA AHCI Controller [8086:2929] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801I (ICH9 Family) SMBus Controller [8086:2930] (rev 03)
03:00.0 Network controller [0280]: Intel Corporation Wireless WiFi Link 5300 [8086:4236]
15:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev ba)
15:00.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 IEEE 1394 Controller [1180:0832] (rev 04)
15:00.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 21)
15:00.3 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev ff)
15:00.4 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 11)
15:00.5 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 11)

lsusb

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

Bus 004 Device 003: ID 0a5c:2145 Broadcom Corp. 
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                2 ThinkPad Bluetooth with Enhanced Data Rate II
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 008 Device 002: ID 17ef:1003 Lenovo 
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0 
  iProduct                2 Integrated Smart Card Reader
      (Bus Powered)
  (Bus Powered)
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller
Bus 001 Device 003: ID 17ef:4807 Lenovo 
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                0 
      (Bus Powered)
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  (Bus Powered)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

Credits


  1. Instead, it mutes the audio at the hardware level; the only way to unmute is to use the volume up or down keys. This is apparently behavior desired in Windows. (1)