Debian Lenny on a Thinkpad T61


Base Installation

A Debian-Etch netinstall worked like a charm - the network interface is recognized. Afterwards I changed from "stable" to "testing" in the /etc/apt/sources.list and upgraded to Lenny by "apt-get update && apt-get dist-upgrade".


Kernel configuration

Here is my .config for kernel version 2.6.27.


Ethernet (Intel 82566MM)

My 82566MM Gigabit Ethernet card was supported by the e1000 driver until kernel 2.6.26 and from 2.6.27 is supported by e1000e driver.


Wireless LAN (Intel 4965 AG)

For recent kernel versions, the iwlagn driver in the vanilla kernel supports the Intel 4965 Chip.


Fan control

To control the speed of the fan I use the tools provided by the lm-sensors package. This needs support by the kernel, in particular CONFIG_SENSORS_CORETEMP and CONFIG_SENSORS_IT87 (Device Drivers - Hardware monitoring support - Intel Core2 Duo/Solo temperature sensor and ITE IT87xx and compatibles) must be set.
I then used the tool pwmconfig to generate the config file /etc/fancontrol and run fancontrol as a daemon to control the speed of the fan.

Sound

Since 2.6.24 sounds works great with the standard hda-intel driver included in the vanilla kernel.


Fingerprint reader

The fingerprint reader can be used using the Thinkfinger utility. To get it running, follow the instructions in the README file containted in the source tarball.
Unfortunately for me screenlocking doesn't work with the thinkfinger utility, I think, I'll also put this on my TODO-list.


Brightness control

Brightness control requires the option CONFIG_ACPI_VIDEO (Power management options - ACPI support - Video) which in recent kernels depends on CONFIG_VIDEO_OUTPUT_CONTROL (Device Drivers - Graphics Support - Lowlevel video output switch controls).


Suspend to RAM

Suspend to RAM works fine. Install the package uswsusp and then use the command

/usr/sbin/s2ram -f -a 2

to suspend.


Hibernation

Hibernation works fine without the nvidia driver. Just install uswsusp, generate an initrd using the command

update-initramfs -c `uname -r`

and then use

s2disk

to hibernate. Unfortunately with the nvidia driver I can't resume.


Internal smart card reader

The smart card reader works with pcscd and libccid. At least pcsc-scan reports cards inserted in the reader and identifies them. Haven't played around with it any more.


Hotkeys

Unfortunately the hotkeys for volume control, the ThinkVantage button and audio control buttons (Fn plus arrow-keys) didn't work out of the box as for the R40 I had before. First thing I did was to get the according keycodes using the utility xev. Then I added the following lines to my ~/.Xmodmap:

keycode 233 = F18
keycode 234 = F19
keycode 159 = F20
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 160 = XF86AudioMute
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume

To use this keys with fluxbox and Amarok I use the following settings in my ~/.fluxbox/keys:

None XF86AudioPlay :ExecCommand /usr/bin/amarok --play
None XF86AudioStop :ExecCommand /usr/bin/amarok --stop
None XF86AudioPrev :ExecCommand /usr/bin/amarok --previous
None XF86AudioNext :ExecCommand /usr/bin/amarok --next
None XF86AudioLowerVolume :ExecCommand amixer -q set PCM 2- unmute
None XF86AudioMute :ExecCommand amixer -q set Master toggle
None XF86AudioRaiseVolume :ExecCommand amixer -q set PCM 2+ unmute
None F20 :ExecCommand xterm
None F18 :NextWorkspace
None F19 :PrevWorkspace

HDAPS

I had the harddisk protection working with an older kernel, however finding the protection patch for newer kernel versions is quite tricky. A good place to start is The HDAPS page of the ThinkWiki. Here you also find all needed instructions, basically just do the following:

Even if the kernel has not been patched to support disk protection, you can use hdapsd and hdaps-utils (aptitude install hdapsd hdaps-utils) to read the output of the acceleration sensors. Try e.g. hdaps-gl or playing neverball using the joystick interface of hdaps.