ThinkpadDebian

This page lists various hacks that i have used to get Debian testing (lenny) working as perfect as possible, it also lists stuff that i would like to get working, but have not quite gotten yet.

Output switching for display

It would be really nice if the display output could be switched from built-in to CRT output without restarting the X-server and adding

...
Section "Device"
      ...
      Option          "MonitorLayout" "CRT"
EndSection

What would be even nicer would be if the display output would automatically switch as the Thinkpad is added/removed from the Ultrabase, and also that the resolution would be switched to the maximum size available on the external display - or better yet, to the value previously set.

Fingerprint reader

Getting the fingerprint reader to work turns out to be pretty easy, just install the i386 packages from http://www.rubixlinux.org/debian/thinkfinger/ and add a line to your /etc/pam.d/common-auth such that it looks like the following:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so nullok_secure

Finally you need to add your fingerprint to the list of fingerprints, this is done by using the tf-tool program to link a fingerprint with your login name, e.g. if your login name is halfdan, you issue the following command and swipe your finger three times:

tf-tool --add-user halfdan

And that is actually enough - please not that the tf-tool command must be run as root to get access to the fingerprint reader. I think this is okay because otherwise other users might be able to read your fingerprint as it is swiped.

But of course an esier solution must be implemented before it is ready for prime time, to me "About Me" window in Gnome seems like a great place to put this, and if we can avoid multiple users running the tf-tool at the same time "set password for current user" tf-tool installed suid should fix the root-only problem.

Another thing missing is that the "lock screen" doesn't supporting finger swiping, so you have to use your password there.

hwclock can't set time correctly

hwclock can't use the /dev/rtc device to set the time, and this results in waiting time on bootup and shutdown. Why this is so i do not know, but you can force hwclock to access the hardware directly by adding --directisa to the HWCLOCKPARS variable in /etc/init.d/hwclock.sh and /etc/init.d/hwclockfirst.sh.

Of course the correct action for this bug is to get /dev/rtc working, but this will fix it now.

Re-mapping caps-lock to control

One thing that is really irritating with this laptop is that those bloody useless windows keys are scattered all over the place. This results in the control and alt buttons being really tiny so mapping the caps-lock key to control is very usable.

You can do this in X by selecting it when configuring the X-server, issue: dpkg-reconfigure xserver-xorg

In the terminal it can be achived by commenting out the following line in /etc/console-tools/remap:

s/keycode  58 = Caps_Lock/keycode  58 = Control/;

Suspend/Hibernate

Suspend and hibernate works for now by issuing one of the following commands:

echo -n mem  /sys/power/state

echo -n disk /sys/power/state

For a while there it didn't work, but today i tried it and it works, i compiled a 2.6.20rc7 kernel a while back but didn't have the time to try it yet - and now it seems to work.

Things not working is the gnome battery monitor thingy, it doesn't suspend or hibernate - it just locks the screen.

The kernel i am running is availble at my DebianRepository.

Wireless

Wireless is a bliss with the new NetworkManager from Gnome, it just works with WPA and everything. To build the kernel module just call up module-assistant and build/install the module, pretty easy.

Comments (0)

Post comment

If you wish, you can use markdown syntax in the comment field.