带有某种 USB 2.0 硬件的系统在运行本 Solaris 发行版时,可能经常会挂起或出现紧急情况。这些问题与不基于 NEC 芯片组的 USB 2.0 设备有关。出现这些问题时,系统将生成与增强型主机控制器接口 (EHCI) 有关的错误消息。
解决方法: 根据系统硬件配置的不同,请选择以下选项之一:
用基于 NEC 芯片组的硬件替换 USB 2.0 主机控制器硬件。众所周知,基于 NEC 芯片组的 USB 2.0 硬件能与 Solaris 操作系统协调工作。
在主板上内置有 USB 2.0 主机控制器硬件,并且有备用 PCI 插槽的系统中,请执行以下步骤:
添加基于 NEC 芯片组和 PCI 的 USB 2.0 卡。
成为超级用户。
禁用主板上的 USB 2.0,只启用通过 PCI 卡的 USB 2.0 支持。执行以下命令:
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # update_drv -a -i '"pci1033,e0"' usba10_ehci # reboot |
对于更快速的操作,可将您的 USB 2.0 设备连接到该卡的端口,而不是连接到主板上的原始端口。
即使无法在系统中添加新的 USB 硬件,您仍然可以通过执行以下步骤禁用系统的 EHCI:
成为超级用户。
执行以下命令:
# update_drv -d -i '"pciclass,0c0320"' usba10_ehci # reboot |
USB 2.0 端口由两个伴随硬件操作:
用于高速件的 EHCI
用于低速和全速件的开放主机控制器接口 (OHCI) 或通用主机控制器接口 (UHCI)
在基于 x86 的系统上,同时存在 OHCI 和 UHCI 的驱动程序。在基于 SPARC 的系统上,只支持 OHCI USB 1.1 主机控制器硬件。因此,如果 SPARC 系统上的伴随 EHCI 控制器被禁用,则只有带 OHCI 伴随控制器的 USB 硬件可以继续在该 SPARC 系统上工作。如果系统有适当的 OHCI 或 UHCI 驱动程序,即使 EHCI 被禁用,USB 硬件端口仍然可以操作。与这些端口相连接的 USB 2.0 设备的运行速度只能与 USB 1.1 设备相当。
要验证在基于 SPARC 的系统上是否存在 EHCI 和 OHCI 主机控制器,请键入:
# prtconf -D
在输出中检查 EHCI 条目,这些条目位于一条或多条 OHCI 条目之后,如下例所示:
pci, instance #0 (driver name: pci_pci) usb, instance #0 (driver name: usba10_ohci) usb, instance #1 (driver name: usba10_ohci) usb, instance #0 (driver name: usba10_ehci) |