GNU/Linux on a Thinkpad X40

© Copyright John Leach <>
Last updated: $Date: 2005-06-18 15:36:16 +0100 (Sat, 18 Jun 2005) $

I've very recently started using a IBM Thinkpad X40. It's tiny, weighs not much more than a bag of sugar and, after a bit of tinkering runs GNU/Linux pretty well. mmmmmmmm sugar.

Of course I have a dmesg log and an lspci output, as is mandatory under Geek law, section 5, paragraph 11b.


Seems to work very well under 2.6.8. Sometimes ACPI events aren't issued (such as lid closing etc.) so acpid doesn't catch them. I've not figured out a pattern yet but it can go on for hours at a time.


To sleep (S3), the usb2 and wireless modules need to be removed else they veto it. I've made a script called to put it to sleep, which I run as root.

rmmod ehci_hcd
rmmod ipw2100
echo 3 > /proc/acpi/sleep
modprobe ehci_hcd
modprobe ipw2100

You'll also need the following kernel boot line magic if the display doesn't return (at all) after a suspend: acpi_sleep=s3_bios.


I've got two little configs for acpid to get it to go to sleep when the sleep button (Fn+F4) is pressed or the lid is closed:



Drop those into little files in your /etc/acpi/events/ directory (say sleep.conf and lid.conf),


The wireless card works with "3rd party drivers". Freshrpms have built RPMS containing the ipw2100 kernel modules and firmware.


RFMON is supported so Kismet works perfectly (and will stunning range). You'll need the very latest version of Kismet (development version currently) which supports the ipw2100 module properly. The kismet source line you'll need is: source=ipw2100,eth1,ipw.

After going in and out of monitor mode a few times the card can get a bit upset. I've found removing the module and dropping to ACPI S3 and back fixes it fine.

As a side note, I've been writing a Gnome Kismet client. See the page.


UPDATE: My kernel RPM isn't really necessary as has a Fedora kernel module for the wireless card. I'd recommend using that instead of my kernel.

I built a new Kernel rpm based on the latest Fedora Core 2 package available, 2.6.8. My rpm has the Intel PRO/Wireless 2100 802.11b|g drivers (the free ones with RFMON of course) and the thinkpad modules. It also contains the hostap modules as I was led to believe this was necessary for WEP, but this isn't the case.

My compiled kernel RPM and SRPM are available in the downloads directory, along with all the added stuff as patches files.

The patches have been jiggled and can only realy be applied *after* a rpmbuild prep of the Fedora kernel SRPM. The Fedora package has many, many custom patches and the stock code/patches from the various projects don't apply cleanly (or very easily to be honest) so I've done the hard work for you.


Go back to