IBM ThinkPad 600X and Linux

By Ted Felix October 2010


There are a lot of reasons why the ThinkPad 600X is still a pretty good machine for running Linux:

On the downside, my trackpoint broke from heavy use, so be gentle.


The ThinkPad 600X needs cs46xx sound support. Ubuntu 9.04 provides this. Debian 5 does not due to licensing issues. Here's how to fix it...

Grab the appropriate version of the alsa driver source. For Debian 5 it was:

I figured this out by looking in /usr/share/doc/alsa-base/changelog.gz. Next, the usual configure/make process with one small variation. For the install step, use the install-modules target. Also note the specification of the needed card in the configure step. This saves build time.

Audio players and whatnot should work, however I've not been successful at getting system sounds to work. I installed gnome-audio and turned on software mixing and system sounds, and I get nothing. Probably not worth the effort as I hate system sounds anyway.

There are a couple of links that might be of further help. The first is Debian bug #476672. Secondly, there is ALSA's cs46xx page.

Another solution that works fine is to build your own kernel from the source. Not for the faint of heart, but you do get the cs46xx driver.


Going wireless was fairly easy with the help of the Linux Wireless LAN Support page. The D-Link DWA-642 is directly supported (to a certain extent) in recent kernels by the ath9k driver. I got one on ebay for $18. The newer model is the DWA-652, but there's no indication that Linux is ready for it yet.

Turns out Debian 5's kernel is 2.6.26 which doesn't have the ath9k driver. So a visit to Debian's Lenny backports led me to a 2.6.30 kernel that works ok (2.6.29 was the first to include ath9k). Kernel versions from 2.6.31-2.6.34 can cause trouble. The 2.6.32.x kernels would lock up on me. The others might soft lockup, or cause the system to hesitate. The 2.6.35.x kernels appear to be much better. I get a lockup only maybe once a week. So, it's still a bit of an adventure, but you should be able to get it to work. If the system locks up, pulling the wifi card usually clears things up.


To get to the BIOS screen, hold down F1 while booting. Check to make sure you have the latest BIOS. Unfortunately, updating the BIOS requires Windows to be installed (as I recall). (You might just need Windows to cut the BIOS upgrade floppy.) After that, you can ditch Windows for good.

IRQ Storm


I had some trouble with the PCI IRQ (irq11 in my case) at one point. It may have been the soundcard causing it, but other hardware was on the irq, so it was hard to tell. The symptoms were as follows:


Disconnect any USB and PCMCIA devices. Run the diagnostics diskette for the machine, PC-Doctor 2.0.1168 (dgpcdoc.exe). It can be found here:

You'll need a Windows (or DOS) PC to cut the diskette. It's best to format the diskette first in linux since Windows doesn't really format floppies, it just verifies them.

fdformat /dev/fd0

Take the formatted floppy over to your Windows box and run the dgpcdoc.exe. This will cut the floppy. Now take the floppy back to the Thinkpad 600x. Make sure your BIOS is set to boot from the floppy. Hold down F1 while booting to get to the BIOS setup. Once you are sure the floppy will boot, reboot the TP600x with the diagnostics floppy in the drive.

The first run of the diags will appear to hang for a while. That's fine. Let it run for an hour or so, eventually it will respond. Try the diagnostics and they should work. If not, reboot and try again. Run the diags for the USB, PCMCIA, and Sound. All should pass. Reboot to Linux and all will be fine. Capture the floppy as an image in linux so you don't have to cut it in Windows in the future:

dd if=/dev/fd0 of=dgpcdoc.img

Rebooting the machine in Windows with proper drivers should also clear this up. The Windows drivers are supported and (mostly) bug free, so they'll fix anything the unsupported linux drivers have hosed. You might want to have a Windows 2000 hard drive with proper drivers handy just in case.


July 19, 2010 my trackpoint mouse died. It went completely bonkers. Found a site with instructions on how to disable the trackpoint. Basically, go to the "Config" screen in the BIOS and hit Ctrl-D. Then change offset 200 from "02" to "01". Save and exit. Worked perfectly once I managed to get into the BIOS screens. (The trackpoint error makes it difficult. Just beat on the trackpoint a bit and you should get in.) Now I'm using a mouse. How annoying!

Kernel Notes

I switched from Debian 5 to Ubuntu 10.10 and noticed that Ubuntu could not turn the power off. Also the power switch was not picked up by GNOME. It just killed the power. These two things are symptoms of ACPI problems. Sure enough, the kernel that comes with Ubuntu has CONFIG_ACPI_BLACKLIST_YEAR set to 2000. The Debian kernel I had been using had this set to 0. I rebuilt the kernel with this set to zero, and all is well once again. I tried booting the kernel with acpi=force, but that acted very strangely.


ThinkWiki 600X - Great resource with lots of ThinkPad info.

Debian - Great version of Linux for those without an Internet connection. The five DVDs have everything.

<- Back to my Linux page.

Copyright ©2009-2010, Ted Felix. Disclaimer