Installing Fedora 15 on a ThinkPad X40

From ThinkWiki
Revision as of 10:29, 18 May 2011 by Tonko (Talk | contribs) (←Created page with '{| width="100%" |style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__ |style="vertical-align:top" | {{NOTE|This is based on Fedora 15 Bet...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This is based on Fedora 15 Beta with the default GNOME desktop. Your experience with KDE may be different. Since the video adapter in this ThinkPad is rather dated, Gnome 3 will run in Fallback/Classic mode.
Help needed
Not all models of this ThinkPad are equal, you may have a different WiFi adapter, or some options I did not have. If you tested them, please add their status down below.

New in this release

Fixed or new in this Fedora release, with regards to this model ThinkPad is the following;

  • Gnome3, but it runs in Fallback/Classic mode as the video chip is too old


  • Changes made with gpointing-device-settings are not persistent

Success Chart - Out of the box experience

This machines SMOLT profile is available here.

Item Working Notes
Installation Local CD/DVD install yes
Network Installation yes
USB Installation yes
Display Laptop Screen (LVDS) yes
VGA yes
Power Management Software Suspend (hibernate) yes
Suspend to Memory (ACPI sleep) yes
Audio yes
Wireless WiFi - Atheros yes
WiFi - Intel 2200BG yes
Bluetooth yes
Input Keyboard yes
TrackPoint yes Install gpointing-device-settings rpm for full configuration capabilities
Extra keys partial see ThinkPad Extra keys section below
Ports Ethernet yes
Modem no Requires closed-source driver. Install the slmodem rpm from the rpmfusion-nonfree repository, edit /etc/sysconfig/slmodem and set INTERFACE=alsa and ALSA_DEVICE=modem:1 and optionally the country. Then run "chkconfig slmodem on; service slmodem start" and point your dialer to /dev/ttySL0
Serial yes Requires dock
IrDA no It seems the device is detected, but then it tries to register a second device and fails with "nsc_ircc_open(). can't get iobase of 0x2f8".
PS/2 Keyboard/Mouse yes Requires dock. Mouse works, but disables Trackpoint.
Parallel unknown (should work) Requires dock
USB yes
PCMCIA/Cardbus yes
SD slot yes 4GB SDHC flash card automatically detected.
Harddisk Active Protection partial There is now a hdapsd rpm, but it is not installed by default, and neither is the hdaps kernel module getting automatically loaded. And even after install it is not started automatically. Starting it manually (modprobe hdaps; hdapsd -d sda), does seem to cause the HDD heads to get parked, but it gives lots of warnings that seem to indicate it does not yet work as intended.
Ultrabay device removal partial Eject switch causes udev event, but no default udev script to handle the event to unmount filesystems in time. ata_piix does handle the removal and insertion of ATA devices.
TPM (security subsystem) yes Enable security chip in BIOS, then "yum install tpm-tools", then "modprobe tpm_atmel; service tcsd start; tpm_version" works.
Dock removal yes

Tested and Verified on Fedora 15

Information in this section has been tested and verified using Fedora 15.


Installation is straight forward; you can follow the generic Fedora install instructions.



It is recommended to edit /boot/grub/grub.conf and add hpet=force to the kernel line. This will activate HPET (High Precision Event Timer), which will allow the CPU to sleep for longer periods and save power.

X Server - Intel 855GM

Both LVDS and VGA displays work in mirror and extended desktop mode, although extended desktop is rather limited as the Intel graphics chip is limited to just a 2048x2048 desktop size.


  • Unknown physical LVDS display size (reported as 0mm x 0mm)
  • Cycling through external display modes with Fn-F7 only works, if the combined horizontal resolutions of the LVDS and external display combined does not exceed 2048 pixels. Since the LVDS (ThinkPad LCD) is 1024 pixels horizontal on a X40, that means the external display cannot have more then 1024 pixels either or otherwise Fn-F7 will fail.
  • Xv (Xvideo) when in mirror mode works on the external display, but not the LVDS


Both the Intel 2200BG and Atheros wireless should work out of the box.

I did limited tested with the Intel 2200BG and it seemed to worked.

Atheros WiFi (Atheros Communications Inc. AR5212 802.11abg NIC (rev 01)) was tested and worked.

ThinkPad Extra keys

ThinkPad keys are handled by a mixture of the thinkpad_acpi, acpi button and acpi dock drivers.

Key Function Handled by Event Works Notes
FnF3 lock screen thinkpad_acpi HAL yes
FnF4 suspend acpi button HAL yes
FnF5 wireless thinkpad_acpi HAL partial Switches WiFi on and off, has no effect on Bluetooth
FnF7 videomode thinkpad_acpi HAL partial Fails if external monitor >1024 horizontal
FnF9 undock acpi button HAL no causes event, but does not actually undock
FnF12 hibernate acpi button HAL yes
FnHome brightness up - no yes no OSD
FnEnd brightness down - no yes no OSD
FnPgUp thinklight - no yes no OSD
FnSpace zoom thinkpad_acpi HAL no Known Xorg limitation, scheduled to be fixed with the new XKB2 extension, whenever that may be.
VolumeUp Volume Up thinkpad_acpi no yes no OSD. Hardware and Software volume controls are independent from each other.
VolumeDown Volume Down thinkpad_acpi no yes no OSD. Hardware and Software volume controls are independent from each other.
Mute Mute thinkpad_acpi no yes no OSD. Hardware and Software mute controls are independent from each other.
Access IBM Vendor key thinkpad_acpi HAL partial No default action, but can be associated in the Gnome3 keyboard settings
NextTab Browser Next tab standard keyboard driver HAL yes
PreviousTab Browser Previous tab standard keyboard driver HAL yes
Power Power button acpi button HAL yes Need to press button for ~1 second to trigger event. Causes a dialog asking you what to do.
Lid Lid button acpi button HAL yes
Dock Dock eject button acpi dock udev yes
Ultrabay Ultrabay eject switch acpi dock udev no Causes udev event, but missing handler. See below.


Ultrabay eject is not handled properly by default. Since there is no undock udev handler. This udev rule and eject script works for me: How to hotswap Ultrabay devices

Untested on Fedora 15

  • Parallel port