Gentoo Linux on the IBM T43

By Soren Harward: sth (at) freeshell (dot) org. Please note that this document assumes that you already know how to install Gentoo and are comfortable with intermediate-difficulty Linux system administration tasks like patching and recompiling the kernel or editing xorg.conf by hand. It's a quick reference for someone who's got a good idea of what he or she is doing but doesn't want to duplicate my effort. It's not a tutorial for someone who's entering unfamiliar territory. You are welcome to email me if you have comments or suggestions or corrections, and I'll take questions as long as you remember that the chance of me answering it is directly proportional to how well you paid attention to the rest of this paragraph.

A wealth of more detailed information about running Linux in Thinkpads is available at ThinkWiki.

Last updated 5 Sep 2006.

Summary

Laptop Model
IBM T43 2669-WE5. This model is not listed in tabook because it's a special version for Penn students. It's basically a 2669-CEU with 1GB RAM and Bluetooth added.
Linux Distribution
Gentoo Linux 2006.0
Kernel
suspend2-sources-2.6.16-r7
Device Status Driver
Processor Intel Pentium M 760 All Good Kernel option “Pentium M”
USB USB 2.0 Controller All Good Kernel drivers “EHCI” and “UHCI”
Power Management ACPI Mostly Working Kernel driver “ACPI” with all features, including “IBM Extras”
CPU Throttling All Good Kernel driver “Intel Enhanced Speedstep”
Hibernation All Good Ebuild sys-power/hibernate-script
Ebuild sys-apps/suspend2-userui
Ebuild sys-apps/vbetool
Mass Storage Hard Drive All Good Kernel drivers “SCSI disk” and “Intel PIIX/ICH” (under “low-level drivers/SATA”)
Ebuild sys-apps/sdparm
DVDRW / CDRW All Good Kernel driver ”SCSI CDROM”
HDAPS All Good Kernel patches
Ebuild app-laptop/hdapsd
Video ATI Mobility X300 Sorta Kernel driver “VESA framebuffer”
Ebuild media-video/ati-drivers
Display Built-in LCD (14") All Good N/A
Analog VGA out Mostly Working N/A
S-Video out All Good N/A
Pointing Devices Touchpad All Good Kernel driver “PS/2 Mouse” and “Event Interface”
Ebuild x11-misc/synaptics
Pointing Stick All Good Same as above
Communications Ethernet All Good Kernel driver “Broadcom Tigon3”
Wireless All Good Ebuild net-wireless/ipw2200
Modem Not Working Kernel (ALSA) driver “MC97 Modem”
Ebuild net-dialup/slmodem
Bluetooth All Good Kernel driver “HCI USB Driver”
IRDA Untested  
Audio Intel ICH6 All Good Kernel (ALSA) driver “Intel AC97”
PCMCIA Cardbus adapter All Good Kernel driver “Cardbus yenta-compatible” and “16-bit PCMCIA” (if needed)

Notes

ACPI

Adjusting the LCD brightness through software doesn't work. The buttons on the keyboard do work, though. acpid also doesn't pick up events from the power button for some odd reason.

SATA drive interface

Make sure you disable all ATA/ATAPI device support. Even though the drives themselves are PATA, they are connected through a SATA interface, and libata recognizes them as SATA drives.

HDAPS (Hard drive active protection system)

Follow the tutorial at ThinkWiki.

Hibernate (aka Suspend-to-Disk)

You must use vbetool with the hibernate script to suspend while running X.

Video

If you want to be able to hibernate the laptop while running X, you have to disable DRI in your xorg.conf. The laptop will suspend with DRI enabled, but completely locks up on resume.

Analog VGA Out

The button <Fn+F7> in text mode just switches between built-in and external displays, but won't cycle to where it displays to both. You can, however, use /proc/acpi/ibm/video to get around this.

Under X, the ATI driver will clone the display to the output. My external LCD at first refused to sync to the signal because the rate was too low. I set “IgnoreEDID” option to “on”— and put my LCD's HSync and VRefresh values in “HSync2” and “VRefresh2” and then it worked fine. I have not yet tried Xinerama and spanning the desktop across the internal and external monitors.

S-Video Out

S-Video works only if you're already plugged into the projector/TV when you power on the laptop.

Touchpad / Pointing Stick

You need two separate “InputDevice” entries in xorg.conf to get these to work together. /dev/input/mouse0 is the touchpad, which uses the synaptics driver, and /dev/input/mouse1 is the pointing stick, which can use the regular mouse driver. If you also want to be able to use a USB mouse, then add yet another “InputDevice” section using /dev/input/mouse2. The USB mouse must be plugged in when you start X for it to work.

Modem

The “MC97 Modem” driver in the kernel's ALSA subsystem detects the modem, and running slmodemd -c=USA -d=1 -g=dialout -a modem:1 will allow me to send commands to the modem using minicom, but the modem doesn't detect a dial tone and won't dial any numbers. I never use the modem anyway, so I don't feel like it's worth my time to get it working.

Audio

The volume up/down and mute buttons on the keyboard appear to control a hardware mixer entirely independent of the sound card (and thus ALSA). If you're not getting any sound and the ALSA mixer isn't set to mute, then try hitting one of the volume buttons.