June 2004

Linux - 18 - IBM Thinkpad R40e

Details of how to install linux on a thinkpad R40e.

Thinkpad R40e: 2GHz, 256MB, 30GB. Trackpoint mouse, (my preference), middle mouse button, and an absence of windows keys, oh yeah!

Currently using Slackware 9.1 with a 2.6.6 custom kernel. In summary, everything works well apart from advanced ACPI which is probably on its way, although i can get battery level in KDE laptop

Kernel

Since laptop hardware configuation is inheriently static, i built a custom kernel, it has all the necessary drivers built in and my optional extras, webcam, wireless card etc as modules. Feel free to use my 2.6.6 or 2.6.11.7 kernel config to save yourself time.

Hardware details

Summary

# lspci output

00:00.0 Host bridge: ATI Technologies Inc: Unknown device cab2 (rev 02)
00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 7010
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:03.0 Modem: ALi Corporation Intel 537 [M5457 AC-Link Modem]
00:04.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
00:06.0 Bridge: ALi Corporation M7101 PMU
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
00:0b.0 Ethernet controller: Broadcom Corporation: Unknown device 170d (rev 01)
00:0c.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
00:0f.0 IDE interface: ALi Corporation M5229 IDE (rev c4)
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon IGP 340M
  

BIOS

You may also want to set "pre-desktop-area" partition to visible so you can reclaim the 4GB of space! (hidden from the OS otherwise. IMPORANT : Disable USB BIOS support as it causes some kernels to lock up on boot.

Display

Integrated Radeon chipset, IGP 340M. Supported with 3D acceleration by the latest CVS versions of XFree86, DRI (Infrastructure layer for accelered cards), DRM (kernel module for your hardware device) and Mesa (OpenGL implementation). I read these helpful instructions to upgrade. Be sure you're using the latest DRM module you built and not the old one from the kernel (until kernel is brought up to date that is).

The relevent section from my XF86Config file

Section "Device"
  Identifier "Radeon"
  VendorName "ATI Technology Inc"
  BoardName  "Radeon IGP 340M"
  Driver     "radeon"
  Option     "AGPMode""4"
  Option     "AGPFastWrite""true"
  Option     "EnablePageFlip""true"
  BusID      "PCI:1:5:0"    
EndSection

There is stuff on the internet saying you can use other drivers by overriding the ChipID in XF86Config and disabling acceleration. This is BAD idea as graphics card drivers minus acceleration is slower than plain old vesa frame buffer!

Sound

Use Ali M5451 module from the kernel. No problems.

Modem

Unknown, although i think i remember reading it is support by propriety drivers.

Network

Broadcom 5700 100Mbit ethernet. Drivers available direct from broadcom. Simple to install. No problems.

USB

Use OHCI driver in the kernel

Cardbus

Works with "yenta compatible" kernel driver.

IDE

Use Ali M15x3 support in the kernel

ACPI

Kernel 2.6.6

Currently, even with latest ACPI patches, 2.6.6 kernel will freeze upon start up if ACPI processor support is enabled (stops at "hda: max request size: 128KiB"). i found by only enabling button, battery and AC power that the kernel would boot correctly.

Kernel 2.6.11-7

Enabling support doesn't cause startup freeze. Software suspend now working which negates the need to use the appartently broken hardware suspend functions.

General

AC Power and Battery support do work correctly. i can view my battery level on the KLaptop applet on the KDE taskbar, i'm not really bothered about the rest of ACPI.

Although the processor ACPI stuff does not work directly, CPU frequency scaling (run processor slower when not loaded to use less power) has been reported to work by other users.

Enabling ACPI in the kernel has the side effect that the LCD brightness / volume controls do not work. Check the Thinkpad ACPI project for current level of support of these added functions.