Docking Solutions
Docks allow users to connect a variety of external peripherals simply by attaching their ThinkPad to the dock. |
Linux support
With recent distributions, docking and undocking should function out of the box. You can monitor this by running # udevadm monitor
and when you dock or press the undock button you should see a flurry of events.
There are some issues though
No event on undock
There are various possible reasons for not getting ACPI docking or undocking events;
- port-replicators have never supported ACPI docking events
- newer docks (series 3 and newer from 2009 onwards), instead of generating ACPI dock events, generate key events which are only supported by the thinkpad-acpi driver since kernel 3.0. And no default action is taken on receiving these events.
- prior to kernel 2.6.34 the ACPI Dock driver only registered the first logical Dock port, and subsequent dock ports where ignored. This effected the ThinkPad X40 with ThinkPad X4 Dock. For older kernels patches are available.
Filesystem corruption
Pressing the undock button will immediately unplug all dock attached devices. This can easily lead to problems, for instance if you have a USB or Ultrabay storage device attached to the dock and have a filesystem mounted RW, this can easily lead to filesystem corruption.
The solution for now is to always make sure any storage devices attached to the dock are unmounted BEFORE pressing the undock button.
External display issues
Docking or undocking will also not change the display configuration, which can lead to issues when your undock and your screensaver decided to put the unlock dialog on the secondary display, effectively requiring you to unlock the screensaver blind, before you can press Fn-F7 to restore your display setup to ThinkPad (LVDS) only. This last issue can be resolved by creating a custom udev rule and script as shown below. This script can also be used to take other actions on dock/undock such as automatically configuring your external display on dock.
create a file /etc/udev/rules.d/81-thinkpad-dock.rules
KERNEL=="dock.0", ACTION=="change", RUN+="/usr/local/sbin/thinkpad-dock.sh"
Then create the file /usr/local/sbin/thinkpad-dock.sh
#!/bin/sh # wait for the dock state to change sleep 0.5 DOCKED=$(cat /sys/devices/platform/dock.0/docked) case "$DOCKED" in "0") #undocked event - lets remove all connected outputs apart from LVDS for output in $(/usr/bin/xrandr -d :0.0 --verbose|grep " connected"|grep -v LVDS|awk '{print $1}') do /usr/bin/xrandr -d :0.0 --output $output --off done ;; "1") #docked event - sample will created extended desktop with DVI1 to the right of LVDS1 #/usr/bin/xrandr -d :0.0 --output DVI1 --right-of LVDS1 --auto ;; esac exit 0
And set it executable
chmod +x /usr/local/sbin/thinkpad-dock.sh
Part of this is based on information from a thread on the Ubuntu forums
Newer series 3 docks
There is a solution for the Series 3 docks: http://phihag.de/2012/thinkpad-docking.html
Available Docking Stations and Port Replicators
- ThinkPad Mini Dock Plus Series 3 - 170W (T400s, T410, T410s, T420, T420s, T430, T510, W510, T520, W520, W530)
- ThinkPad Mini Dock Plus Series 3 - 135W (T400s, T410, T410s, T420, T420s, T430, T510, W510, T520)
- ThinkPad Mini Dock Plus Series 3 - 90W (T400s, T410, T410s, T420, T420s, T430, T510, T520)
- ThinkPad Mini Dock Series 3 (T400s, T410, T410s, T420, T420s, T430, T510, T520)
- ThinkPad Port Replicator Series 3 (T400s, T410, T410s, T420, T420s, T430, T510, T520)
- ThinkPad UltraBase Series 3 (X220, X220i, X220 Tablet, X230, X230i, X230 Tablet)
- ThinkPad Ultra Dock, ThinkPad Pro Dock, ThinkPad Basic Dock (L440, L540, T440, T440s, T440p, T540p, X240)
- USB Port Replicator with Digital Video
Withdrawn Docking Stations and Port Replicators
- ThinkPad 700/720 Dock
- ThinkPad 700/720 Port Replicator
- ThinkPad Dock I (3545) (360/370/750/755/760 series models)
- ThinkPad Dock II (3546) (360/370/750/755/760 series models)
- ThinkPad Port Replicator Model 1 (360/370/750/755/760/765 series models)
- ThinkPad Port Replicator Model 2 (360/370/750/755/760/765 series models)
- ThinkPad MultiPort (510Cs)
- ThinkPad MultiPort II {701C/701CS)
- SelectaBase Model I (TP 760 and 765 series models)
- SelectaBase 600 (TP 600 series models)
- SelectaBase 770 (TP 770 series models)
- SelectaDock I (TP 6003, 7601, 7651 and 7702 series models)
- SelectaDock II (TP 6003, 7601, 7651 and 7702 series models)
- SelectaDock III (TP 6003, 7601, 7651 and 7702 series models)
- TransNote Port Extender (ThinkPad TransNote)
- ThinkPad i Series Port Replicator (TP i1400, i1500 Series)
- ThinkPad 365 Port Replicator (TP 365)
- ThinkPad 365X Port Replicator (TP 365X)
- ThinkPad 380/385 Port Replicator
- ThinkPad 560 Port Replicator (TP 380/385 series, 560 and 5704)
- ThinkPad Enhanced Port Replicator (TP 380/385 series and 560X)
- ThinkPad Port Replicator with Advanced EtherJet (TP 380Z, i1720, i1721 and 390, 570, 600 and 770 series)
- ThinkPad Port Replicator (A20-A31p, R30-R32, T20-T30, X20-X32)
- ThinkPad Port Replicator II (A,R,T,X series models)
- ThinkPad Dock (A,T,X series models)
- ThinkPad Dock II (A,R,T,X series models)
- ThinkPad Mini-Dock (A,R,T,X series models)
- ThinkPad Essential Port Replicator (T60, Z series models)
- ThinkPad Advanced Dock (T60, Z series models)
- ThinkPad Advanced Mini Dock (T60, Z series models)
- UltraBase (TP 570 series)
- UltraBase X2 (X20, X21, X22, X23, X24)
- UltraBase X3 (X30, X31, X32)
- UltraBase X4 (X40, X41)
- ThinkPad X4 Dock (X40, X41, X41 Tablet)
- UltraBase X6 (X60, X60s, X61, X61s)
- X6 Tablet UltraBase (X60 Tablet, X61 Tablet)
- X200 UltraBase (X200, X201)
- W700 Mini Dock
- W700 Mini Dock 2.0
Monitor and Notebook Stands
- ThinkPad Adjustable Notebook Stand
- ThinkPad Monitor Stand 2001 - (withdrawn)
- ThinkPad Monitor Stand 2000 - (withdrawn)
Other
- Dock II Adapter Kit - (withdrawn)
- Direct Dock Adapter - (withdrawn)
- SelectaBase PC Card Enabler - (withdrawn)
- SelectaBase PC Card Enabler with Advanced EtherJet - (withdrawn)
- Portable Drive Bay (PC-Card UltraslimBay adapter) - (withdrawn)
- Portable Drive Bay 2000 (PC-Card/USB UltraBay 2000 adapter)
External Sources
FOOTNOTES [Δ] |
- requires SelectaBase Model I
- requires SelectaBase 770
- requires SelectaBase 600
- requires Direct Dock Adapter or UltraBase