首先是一些定义。扩展坞和端口复制器之间存在区别。
我使用术语扩展坞来指代一个盒子,其中包含插槽以放入一些接口卡,以及放入硬盘等的空间。这个盒子可以永久连接到 PC。端口复制器只是笔记本电脑端口的复制品,可以永久连接到 PC。
我自己不使用扩展坞。它们看起来非常昂贵,我看不出有什么用处。好吧,你必须处理更多的电缆,但这值得花这么多钱吗?当您有永久网络连接,或者需要扩展坞的扩展总线插槽(例如,用于某些特殊的 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。
据我所知,有四种解决方案可以将笔记本电脑连接到扩展坞
SCSI 端口(非常少见)
并行端口
(专有)扩展坞端口(常见)
USB(通常由第三方制造商提供)
Martin J. Evans 说:“扩展坞的主要问题是让操作系统检测到您已停靠。幸运的是,您可以检查/proc中的可用设备,从而检测到停靠状态。考虑到这一点,您只需要几个简单的脚本即可使您的机器在停靠状态下正确配置。
您可能希望将对扩展坞硬件的支持构建为模块,而不是直接将其放入内核中。这将节省内核空间,但您的选择可能很大程度上取决于您停靠的频率。
1) 支持扩展坞 SCSI 卡上的附加磁盘
在我看来,最好的方法是
要么将对 SCSI 卡的支持构建到内核中,要么将其构建为模块。
将挂载点放入/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 |
我使用了一款由 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 下工作
USB 2.0 A 型下游端口:开箱即用,可与外部硬盘和鼠标配合使用
USB 2.0 A 型下游端口:见上文
PS/2 键盘:开箱即用
PS/2 鼠标:工作正常,但对于 2.6 内核,您必须指定正确的鼠标协议 psmouse_proto=imps(如果 psmouse 编译为模块)。
串行端口:使用串行鼠标进行了测试,似乎无法工作,分配了 /dev/ttyUSB0
并行端口:已测试,设备 /dev/usb/usblp0 已分配,例如,可与 HP LaserJet 2100 配合使用
LAN:usbnet 加载,设备 eth1 已分配,ifconfig 或 pump 配置网络设备
传输端口又名主机链接:与 usbnet 模块配合使用,使用 ifconfig usb0 配置网络接口,(USB 1.1 主机链接 B 型)未经测试
这是 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 |