Wake Forest faculty and students are issued new IBM ThinkPads on a two-year rotation. The model I had until July 2007 is the R52.
Specs |
Linux installation |
Xorg |
Ethernet card |
Wireless card |
Hard disk |
Audio
CD/DVD |
Modem |
IBM resources
The WFU-issue Thinkpad R52 (type 1847 DD2) comes with
I don't use a Linux "distro" -- I have a system of my own that I have fine-tuned over the years. When I get a new Thinkpad, I copy the old system to CD-ROM in the form of gzipped tarfiles. After setting up the new hard drive, I copy the system over and tweak it as needed for the new machine.
My basic strategy on this occasion was as follows:
As usual, however, there were a few complications. After initially booting Knoppix I was ready to run ntfsresize on /dev/hda1. Surprise: There was no /dev/hda! On inspecting the output of dmesg it transpired that Knoppix was "seeing" the drive as a SCSI device; I had a /dev/sda, not /dev/hda. This is due to the fact that the hard-drive controller is Serial ATA, and there's a Linux driver for this under the SCSI subsystem. I gather from my own experimentation that if the kernel does not include SCSI support the drive will be managed as EIDE, but if the appropriate SCSI support is present, the kernel "prefers" to see the disk as SCSI. (See also the SATA page at linuxmafia.com; and there's a bit more info below.)
After some initial confusion I went with Knoppix's SCSI approach. After re-partitioning my hard drive looks like this:
Disk /dev/sda: 80.0 GB, 80026361856 bytes 240 heads, 63 sectors/track, 10337 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 5171 39092728+ 7 HPFS/NTFS /dev/sda2 5172 5304 1005480 82 Linux swap / Solaris /dev/sda3 5305 10337 38049480 83 Linux
Xorg version 6.8.2 supports the ATI Radeon Mobility M300 video (module "radeon"), and can drive the TFT display at 1400x1050 resolution, with a color depth of 24 bits per pixel. The only wrinkle is that, for this new chipset, Direct Rendering is not supported by the Xorg driver.
Direct Rendering is, however, supported by the proprietary ATi driver. Info is available at thinkwiki.org. As of this writing the current version of the ATi driver is 8.18.8 (Oct 26, 2005). For building against Linux 2.6.14 one small patch is required
--- firegl_public.c.orig 2005-10-31 13:29:13.000000000 -0500
+++ firegl_public.c 2005-10-31 13:31:00.000000000 -0500
@@ -1475,7 +1475,7 @@
int ATI_API_CALL __ke_verify_area(int type, const void * addr, unsigned long size)
{
- return verify_area(type, addr, size);
+ return (access_ok(type, addr, size) ? 0 : -EFAULT);
}
int ATI_API_CALL __ke_get_pci_device_info(__ke_pci_dev_t* dev, __ke_pci_device_info_t *pinfo)
The R52 features a dual pointing system: trackpoint plus "UltraNav" touchpad. If you just configure this in X as a PS/2 device the TrackPoint works fine as a three-button mouse. The Touchpad also works OK. I have this stanza in my xorg.conf:
Section "InputDevice" Identifier "Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "ZAxisMapping" "4 5" Option "EmulateWheel" "True" EndSection
There are a couple of special keys above the left and right arrow keys, which I gather are bound to Forward and Back in Internet Explorer under Windows. Using xev, I identified their keycodes as 233 and 234, and I put the following into my ~/.Xmodmap:
keycode 233 = Next_Virtual_Screen keycode 234 = Prev_Virtual_Screen
Then in sawfish (the window manager I use) I bound these keys to page between workspaces.
The WFU R52 comes with an integrated ethernet controller, indentified via lspci as Broadcom NetXtreme BCM5751M Gigabit Ethernet PCI Express. You can drive this using the Tigon3 driver (module tg3) supplied with the current linux kernel.
Atheros Communications, Inc. AR5212 802.11abg NIC. I haven't had occasion to try this yet, but it should work OK with the madwifi driver. The Atheros card in my previous Thinkpad R40 did.
When I built a kernel with SCSI support, I orginally thought, from googling the Intel "Ultra ATA" controller, that I should be able to use the AHCI (Advanced Host Controller Interface) driver under libata in the Linux 2.6.12 SCSI subsystem. This appears to be the most advanced driver for the hardware. But it doesn't work:
ahci: probe of 0000:00:1f.2 failed with error -12
There's a brief discussion of this at lkml.org. Jeff Garzik says, "You need to either load ata_piix driver, or tell your BIOS to initialize AHCI mode." There doesn't seem to be any way of telling the Thinkpad BIOS to initialize AHCI mode, so I'm using the ata_piix driver. But I gather this is less than optimal so perhaps this is an issue to be revisited later. (See also: SATA details.)
This is "SoundMax" (Intel ICH6 card, Analog Devices AD1981B chip). It works fine with the ALSA snd_intel8x0 module.
With my original kernel setup Linux recognized this as an IDE CD drive, at /dev/hdc. This seemed fine until I tried playing a DVD, which revealed that it was horribly slow (xine complained about dropping an excessive number of frames). After some googling I found a solution: cut the Linux IDE driver out of the picture altogether and use libata for both the hard drive and the CD drive. With this modification the CD is found at /dev/sr0 and the speed is fine; xine works nicely. If there are bad side-effects, I haven't found them yet! (See also: SATA details.)
K56Flex v.92A, Intel AC'97 controller. I haven't messed with this yet, but I believe it is usable. There is some relevant info here.
It's worth checking from time to time for BIOS updates and so on at IBM. Reasonably full technical specs from IBM are here.
Allin Cottrell (cottrell@wfu.edu) originally June, 2005; last updated Ocrober 31, 2005