12.24. 扩展坞 / 端口复制器

12.24.1. 定义

首先是一些定义。扩展坞端口复制器之间存在区别。

我使用术语扩展坞来指代一个盒子,其中包含插槽以放入一些接口卡,以及放入硬盘等的空间。这个盒子可以永久连接到 PC。端口复制器只是笔记本电脑端口的复制品,可以永久连接到 PC。

12.24.2. 其他解决方案

我自己不使用扩展坞。它们看起来非常昂贵,我看不出有什么用处。好吧,你必须处理更多的电缆,但这值得花这么多钱吗?当您有永久网络连接,或者需要扩展坞的扩展总线插槽(例如,用于某些特殊的 SCSI 设备)时,扩展坞在办公环境中很有用。

而且我所知道的所有扩展坞都是专有型号,因此如果您更换笔记本电脑,您也必须更换此设备。我刚刚发现一个例外,即通过 IrDA® 连接到笔记本电脑的扩展坞,Tekram 公司的 IRDocking IR-660 Tekram。它支持以下连接器:10Base-T (RJ-45);PS/2 键盘;PS/2 鼠标;25 针打印机端口 (LPT);红外收发器;电源 (6 VDC)。因此,似乎缺少 VGA 端口和直接连接台式 PC 的端口。这个设备应该可以与 Linux/IrDA® 一起工作,尽管我无法验证。

我宁愿购买一台 PC,并通过网络将其连接到笔记本电脑。

或者使用外部显示器,如上所述,它通常工作良好,以及外部键盘和鼠标。如果您的笔记本电脑支持额外的 PS/2 端口,您可以使用一个廉价的解决方案,即 Y 型电缆,它将 PS/2 端口连接到外部键盘和外部显示器。注意:您的笔记本电脑可能支持 Y 型电缆 功能,例如 COMPAQ Armada 1592DT。

12.24.3. 扩展坞连接方法

据我所知,有四种解决方案可以将笔记本电脑连接到扩展坞

  1. SCSI 端口(非常少见)

  2. 并行端口

  3. (专有)扩展坞端口(常见)

  4. USB(通常由第三方制造商提供)

Martin J. Evans 说:“扩展坞的主要问题是让操作系统检测到您已停靠。幸运的是,您可以检查/proc中的可用设备,从而检测到停靠状态。考虑到这一点,您只需要几个简单的脚本即可使您的机器在停靠状态下正确配置。

您可能希望将对扩展坞硬件的支持构建为模块,而不是直接将其放入内核中。这将节省内核空间,但您的选择可能很大程度上取决于您停靠的频率。

1) 支持扩展坞 SCSI 卡上的附加磁盘

在我看来,最好的方法是

  1. 要么将对 SCSI 卡的支持构建到内核中,要么将其构建为模块。

  2. 将挂载点放入/etc/fstab但使用“noauto”标志以防止它们使用 mount -a 标志自动挂载。这样,当您停靠时,您可以显式挂载连接到扩展坞 SCSI 卡的任何磁盘上的分区。

2) 支持扩展坞中的附加网络适配器

您可以对显卡使用与上述类似的方法。检查/proc您的 rc 脚本中的文件系统,以查看您是否已停靠,然后适当设置您的网络连接。“

一旦您确定了这些信息,您可以使用类似于以下示例的脚本,在启动时配置与扩展坞的连接。该脚本由 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 mailto:fk_AT_impress.de
# 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
echo
cp /etc/XF86Config_extern /etc/XF86Config
#
# Setup of PCMCIA Network Interface after start of cardmgr
#
echo
echo "Setting up eth0 for use at Network ..."
echo
/sbin/ifconfig eth0 10.1.9.5 netmask 255.255.0.0 broadcast 10.1.255.255
/sbin/route add -net 10.1.0.0 gw 10.1.9.5
/sbin/route add default gw 10.1.10.1
;;

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

12.24.4. 通用 USB 端口复制器

我使用了一款由 Anubis 制造的 Typhoon USB 2.0 7 合 1 扩展坞,型号为 P/N 83057,以检查此类设备的 Linux 兼容性。实际上,此设备应命名为端口复制器,因为它没有任何扩展插槽。此设备没有用于连接外部显示器的 VGA 端口。只有少数 USB 扩展坞具有此功能。如果能收到关于 VGA 端口是否工作的报告就好了。使用笔记本电脑 COMPAQ M700 (USB 1.1) 和定制内核 2.6.1 进行了测试。请注意,端口复制器不适用于 Apple PowerBook G4。

它的不同端口如何在 Linux 下工作

这是 Typhoon 端口复制器的 dmesg 输出

hub 1-0:1.0: new USB device on port 1, assigned address 26
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
hub 1-1:1.0: new USB device on port 3, assigned address 27
hub 1-1.3:1.0: USB hub found
hub 1-1.3:1.0: 4 ports detected
hub 1-1:1.0: new USB device on port 4, assigned address 28
eth1: register usbnet at usb-0000:00:07.2-1.4, ASIX AX8817x USB 2.0 Ethernet
hub 1-1.3:1.0: new USB device on port 1, assigned address 29
usb0: register usbnet at usb-0000:00:07.2-1.3.1, Prolific PL-2301/PL-2302
hub 1-1.3:1.0: new USB device on port 2, assigned address 30
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 30 if 0 alt 1 proto 2 vid 0x067B pid 0x2305
hub 1-1.3:1.0: new USB device on port 3, assigned address 31
pl2303 1-1.3.3:1.0: PL-2303 converter detected
usb 1-1.3.3: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
hub 1-1.3:1.0: new USB device on port 4, assigned address 32
HID device not claimed by input or hiddev
hid: probe of 1-1.3.4:1.0 failed with error -5
input: Composite USB PS2 Converter USB to PS2 Adaptor  v1.09 on usb-0000:00:07.2-1.3.4
HID device not claimed by input or hiddev
hid: probe of 1-1.3.4:1.1 failed with error -5
input: Composite USB PS2 Converter USB to PS2 Adaptor  v1.09 on usb-0000:00:07.2-1.3.4