跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
x86: 在基于 GRUB 的引导中支持 USB CD 和 DVD
15. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
通用串行总线 (Universal Serial Bus, USB) 由 PC 行业开发,用于提供将外围设备(如键盘、鼠标设备和打印机)连接到系统的低成本解决方法。
USB 连接器适用于以某种方式连接的唯一一种类型的电缆。USB 的主要设计意图是缓解对不同设备的多种连接器类型的需求。此设计可减少系统后面板上各种连接的混乱。
设备与外部 USB 集线器或计算机本身的根集线器上的 USB 端口连接。由于集线器有多个端口,因此从集线器可以引出多个设备树分支。
有关更多信息,请参见 usba(7D) 或转至以下站点:
下表介绍了 Oracle Solaris OS 中使用的 USB 首字母缩略词。有关 USB 组件和对应的首字母缩略词的完整说明,请访问以下站点:
|
USB 规范是公用免费规范。该规范定义了总线和连接器的电子和机械接口。
USB 采用由集线器为 USB 设备提供连接点的拓扑结构。主机控制器包含根集线器,该集线器是系统中所有 USB 端口的起点。有关集线器的更多信息,请参见USB 主机控制器和集线器。
图 7-1 USB 物理设备分层结构
图 7-1 显示了带有三个活动 USB 端口的系统。第一个 USB 端口连接 USB 内存条。第二个 USB 端口连接外部集线器,该集线器又连接 cdrw 设备和键盘/鼠标复合设备。作为复合设备,此键盘包含 USB 控制器,该控制器可以操作键盘和连接的鼠标。键盘和鼠标共享公用的 USB 总线地址,因为它们由同一个 USB 控制器定向。
图 7-1 还显示了作为组合设备的集线器和打印机的示例。该集线器是与打印机封装在同一个箱子中的外部集线器。打印机与集线器永久连接。集线器和打印机具有各自独立的 USB 总线地址。
以下列出了图 7-1 中显示的一些设备的设备树路径名。
/pci@1f,4000/usb@5/storage@1
/pci@1f,4000/usb@5/hub@2/device@1/keyboard@0
/pci@1f,4000/usb@5/hub@2/device@1/mouse@1
/pci@1f,4000/usb@5/hub@2/storage@3
/pci@1f,4000/usb@5/hub@3/printer@1
具有类似属性和服务的 USB 设备组成设备类。每个设备类都有对应的驱动程序。类中的设备由同一个设备驱动程序对进行管理。但是,USB 规范也允许不属于特定类的供应商专有设备。
人工接口设备 (Human Interface Device, HID) 类包含用户控制的设备,如以下设备:
键盘
鼠标设备
游戏控制器
通信设备类包括以下设备:
调制解调器
以太网适配器
其他设备类包括以下类:
音频
显示器
打印机
存储设备
每个 USB 设备都包含反映其所属类的描述符。设备类可指定其成员在配置和数据传输中的行为方式。可以从以下站点获取其他的类信息:
有关 Oracle Solaris 发行版支持的 USB 设备的更多信息,请参见 usb(7D)。
包括以下 USB 驱动程序增强功能。
USB CDC ACM 设备支持-acm 驱动程序支持符合 USB 通信类设备规范的抽象控制模型的设备和一些具有调制解调器功能的 PCMCIA 卡。
pppd 守护进程可通过 /dev/term/[0~9]* 项访问这些设备。有关更多信息,请参见 pppd(1M)。
有关更多信息,请参见 usbsacm(7D)。
通用 USB 驱动程序-现在可通过使用标准的 UNIX read(2) 和 write(2) 系统调用的应用程序来访问和处理 UBS 设备,并且无需编写专用内核驱动程序。其他功能包括:
应用程序可访问原始设备数据和设备状态。
驱动程序支持控制、批处理和中断(出入)传输。
ugen 驱动程序不再需要明确绑定到设备。缺省情况下,usb_mid 将绑定到缺少类驱动程序的设备,并导出与 libusb 兼容的 ugen 接口。例如,可以插入非海量存储设备的 USB 摄像头并可使用 libusb 应用程序来进行访问。此外,scsa2usb 和 usbprn 驱动程序都可导出 ugen 接口,并且可以在这些设备类上直接使用 libusb 应用程序。
有关更多信息,请参阅 ugen(7D)。
USB 串行驱动程序支持
Digi Edgeport USB 支持-Edgeport USB 驱动程序只能用于 Edgeport 设备,而不能用于其他 USB 串行设备。
新设备可以作为 /dev/term/[0-9]* 和 /dev/cua/[0-9]* 进行访问。
USB 串行端口可以像任何其他串行端口一样使用,但不可用作本地串行控制台。用户可以很容易地理解这样一个事实,即数据是通过 USB 端口运行的。
有关更多信息,请参见 usbser_edge(7D) 或转至以下站点:
Keyspan-Keyspan USB 串行驱动程序只能用于 Keyspan 设备,该驱动程序当前支持 USA-19HS 和 USA-49WLC 模型。
有关更多信息,请参见 usbsksp(7D)。
Prolific-Prolific USB 串行驱动程序只能用于基于 PL2303 芯片组的设备。
有关更多信息,请参见 usbsprl(7D)。
有关 USB 到串行设备支持的更多信息,请转至以下站点:
对用户编写的内核和用户级驱动程序的文档和二进制支持-有关 USB 驱动程序开发的最新信息,请访问:
EHCI 驱动程序的功能包括:
符合支持 USB 2.0 的增强型主机控制器接口的标准。
支持高速控制、批处理、中断和同步传输。
USB 1.1 设备插入后会动态分配给 OHCI 或 UHCI 控制器。USB 2.0 设备插入后会动态分配给 EHCI 控制器。
使用 prtconf 命令输出可确定系统是支持 USB 1.1 设备还是 USB 2.0 设备。例如:
# prtconf -D | egrep "ehci|ohci|uhci"
如果 prtconf 输出标识了 EHCI 控制器,则系统支持 USB 2.0 设备。
如果 prtconf 输出标识了 OHCI 或 UHCI 控制器,则系统支持 USB 1.1 设备。
USB 设备可以表示为两级设备树节点。设备节点表示整个 USB 设备。一个或多个子接口节点表示设备上的各个 USB 接口。
驱动程序绑定是通过使用兼容的名称属性实现的。有关更多信息,请参阅 IEEE 1275 USB 绑定的 3.2.2.1 节以及《Writing Device Drivers》。驱动程序可以绑定至整个设备并控制所有接口,也可以只绑定至一个接口。如果供应商或类驱动程序不要求绑定至整个设备,则可以将通用 USB 多接口驱动程序绑定至设备级节点。此驱动程序会通过使用 IEEE 1275 绑定规范的 3.3.2.1 节中定义的兼容名称属性,尝试将各驱动程序绑定至每个接口。
Oracle Solaris USB 体系结构 (USB Architecture, USBA) 遵循 USB 1.1 和 USB 2.0 规范,并且是 Oracle Solaris 设备驱动程序接口 (Device Driver Interface, DDI) 的一部分。USBA 模型与 Oracle 公用 SCSI 体系结构 (Oracle Common SCSI Architecture, SCSA) 类似。如下图所示,USBA 是一个薄层,用于为客户机驱动程序提供通用抽象 USB 传输层,进而为这些驱动程序提供实现核心通用 USB 功能的服务。
图 7-2 Oracle Solaris USB 体系结构 (USB Architecture, USBA)