Docking Station / Port Replicator


First some definitions. There is a difference between docking station and port replicator.

I use the term docking station for a box which contains slots to put some interface cards in, and space to put a harddisk, etc. in. This box can be permanently connected to a PC. A port replicator is just a copy of the laptop ports which may be connected permanently to a PC.

Other Solutions

I don't use a docking station. They seem really expensive and I can't see any usefulness. OK you have to mess up with some more cables, but is it worth so much money? Docking stations are useful in an office environment when you have a permanent network connection, or need the docking station's SCSI adaptor (e.g., for a CD-R).

Also all docking stations I know are proprietary models, so if you change your laptop you have to change this device, too. I just found one exception a docking station which connects to your laptop via IrDA® the IRDocking IR-660 by Tekram . It supports these connectors: 10Base-T (RJ-45); PS/2 Keyboard; PS/2 Mouse; 25-Pin Printer Port (LPT); IR Transceiver; Power (6 VDC). So it seems that a VGA port and a port to connect a desktop PC directly are missing. This device should work with Linux/IrDA®, though I couldn't check it out.

I would prefer to buy a PC instead and connect it via network to the laptop.

Or use an external display, which usually works well as described above, and an external keyboard and mouse. If your laptop supports an extra PS/2 port you may use a cheap solution a Y cable, which connects the PS/2 port to an external keyboard and an external monitor. Note: Your laptop probably has support for the Y cable feature, e.g. the COMPAQ Armada 1592DT.

Connection Methods

AFAIK there are three solutions to connect a laptop to a docking station:

  1. SCSI port

  2. parallel port

  3. (proprietary) docking port

From Martin J. Evans "The main problem with docking stations is getting the operating system to detect you are docked. Fortunately, if you configure your kernel with the /proc file system (does anyone not do this?) you can examine the devices available and thus detect a docked state. With this in mind a few simple scripts is all you need to get your machine configured correctly in a docked state.

You may want to build support for the docking station hardware as modules instead of putting it directly into the kernel. This will save space in your kernel but your choice probably largely depends on how often you are docked.

1) Supporting additional disks on the docking station SCSI card

To my mind the best way of doing this is to:

  1. Either build support for the SCSI card into the kernel or build it as a module.

  2. Put the mount points into /etc/fstab but use the "noauto" flag to prevent them from being mounted automatically with the mount -a flag. In this way, when you are docked you can explicitly mount the partitions off any disk connected to the docking station SCSI card.

2) Supporting additional network adaptors in the docking station

You can use a similar method to that outlined above for the graphics card. Check the /proc filesystem in your rc scripts to see if you are docked and then set up your network connections appropriately. "

Once you determine this information, you may use a script, similar to the following example, to configure the connection to your docking station at startup. The script is provided by Friedhelm Kueck:

# check, if Laptop is in docking-station (4 PCMCIA slots available)
# or if it is standalone (2 slots available)
# Start after cardmgr has started
# Friedhelm Kueck
# 08-Sep-1998
# Find No. of Sockets
SOCKETS=`tail -1 /var/run/stab | cut -d ":" -f 1`
case "$SOCKETS" in
"Socket 3")
echo Laptop is in Dockingstation ...
echo Disabeling internal LCD Display for X11
cp /etc/XF86Config_extern /etc/XF86Config
# Setup of PCMCIA Network Interface after start of cardmgr
echo "Setting up eth0 for use at Network ..."
/sbin/ifconfig eth0 netmask broadcast
/sbin/route add -net gw
/sbin/route add default gw

"Socket 1")
echo Laptop is standalone
echo Disabling external Monitor for X11
cp /etc/XF86Config_intern /etc/XF86Config
echo Network device NOT setup