ThinkPad X3 UltraBase

From ThinkWiki
Revision as of 08:14, 23 May 2007 by TheAnarcat (Talk | contribs) (2.6.22-rc2 better supported)

Jump to: navigation, search

UltraBase X3

IBM UltraBase X3

The IBM UltraBase X3 is a portable dock for the X30, X31 and X32 ThinkPads providing extra ports as well as a bay for an optical drive and a set of stereo speakers. Containing a full featured UltraBay Plus slot, it provides flexibility in drive choice as well as the option of a secondary battery for extended working time on the road. The Ultrabase X3 also features a battery slot on the underside that accepts the same battery as your X30 Series ThinkPad. The UltraBase X3 doesn't provide a second docking port as the original UltraBase did, hence you can't dock the UltraBase to any of the other docking solutions.

Features

Pros & Cons

  • Positives: Expansion capability, portable
  • Negatives: makes the ThinkPad quite thick, no extra docking port
  • Compatibility: X30, X31, X32
  • Warranty: Three Years

UltraBay Plus

The UltraBay Plus slot in this dock is a full featured one and supports hot swapping with all UltraBay Plus and UltraBay 2000 drives. You can also feed it with the UltraBay Plus battery pack to extend the overall battery life time.

Linux support

This can be problematic under Debian, as the default kernel (2.6.18) do not support the IBM docks. I had to recompile it to enable CONFIG_ACPI_IBM_DOCK, and disable CONFIG_ACPI_DOCK. I also needed to hook a few scripts into the acpi events system.

ibm-dock.sh:

#!/bin/sh

# acknowledge docking with the dockstation
echo dock > /proc/acpi/ibm/dock

ibm-undock.sh:

#!/bin/sh

# prepare the laptop for undocking with the dockstation

echo undock > /proc/acpi/ibm/dock

events/ibm-dock:

event=ibm/dock GDCK 00000000 00000003
action=/etc/acpi/ibm-dock.sh

events/ibm-undock:

event=ibm/dock GDCK 00000003 00000001
action=/etc/acpi/ibm-undock.sh

Update: 2.6.22-rc2 actually works without a flaw, without the above modifications, provided that the "bay" and "dock" modules are loaded at boot time.