![]() |
VOOZH | about |
Docking SolutionsThis is a category to contain docking stations and their respective adapters, which can be attached to models with a dedicated docking port. |
👁 2015lenovologoandslogan.png |
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
There are various possible reasons for not getting ACPI docking or undocking events;
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.
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
KERNEL=="dock.0", ACTION=="change", RUN+="/usr/local/sbin/thinkpad-dock.sh"
Then create the file
#!/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
There is a solution for the Series 3 docks: http://phihag.de/2012/thinkpad-docking.html
Mostly for ACPI support related to docks, it can be found here.
The following 28 pages are in this category, out of 28 total.