本节介绍在 Solaris 9 4/04 发行版中新增或修订的设备管理功能。 该发行版中的 USB 功能目前在 x86 和 SPARC 平台上均可用。
此功能说明在 Solaris 9 4/04 发行版中是新增的, 并且适用于 x86 和 SPARC 平台。
Solaris 9 12/03 发行版中的 USBA 框架最初是为 USB 1.1 设备而开发的。 后来又创建了一个新的框架 (USBA 1.0),以满足 USB 2.0 设备更严格的要求。 新框架也支持 USB 1.1 设备。 本 Solaris 发行版提供了以上两个框架,作为一个双框架。 双框架的目的是使原来的框架到新框架的平缓过渡更加容易。 原 USBA 框架支持连接到系统 USB 1.1 端口的设备,而新的 USBA 1.0 框架支持连接到系统 USB 2.0 端口的设备。
Sun 所有的主板端口都是 USB 1.1 端口,而大部分 PCI 卡端口支持 USB 2.0。
有关 USB 双框架工作原理的特定细节,请访问 http://www.sun.com/desktop/whitepapers.html。
有关 USB 双框架兼容性问题和 USB 双框架的信息,请参见 System Administration Guide: Basic Administration 中的 “What's New in USB Devices?”。
Solaris 9 4/04 发行版包括以下 USB 2.0 功能,这些功能在 x86 和 SPARC 平台上均可用:
更好的性能 – 提高了连接到 USB 2.0 控制器的设备的数据吞吐量,最快速度可达 USB 1.1 设备的 40 倍。
访问高速大容量存储设备(例如 DVD 和硬盘驱动器)时,尤其可以感受到高速 USB 协议带来的便利。
兼容性 – 向后兼容 1.0 和 1.1 版本的设备和驱动程序,这样您可以使用相同的电缆、连接器和软件界面。
有关 USB 设备和术语的说明,请参见 System Administration Guide: Basic Administration 中的 “Overview of USB Devices”。
此功能说明在 Solaris 9 4/04 发行版中是新增的并且在 x86 和 SPARC 平台上均可用。
USB 2.0 设备是指遵循 USB 2.0 规范的高速设备。 您可以参考位于 http://www.usb.org 的 USB 2.0 规范。
在本 Solaris 发行版中,基于 SPARC 和基于 x86 的系统中支持的部分 USB 设备如下所示:
大容量存储设备 – CD-RW、硬盘、DVD、数码相机、Zip 驱动器、软盘和磁带机
键盘、鼠标设备、扬声器和麦克风
音频设备
有关已在 Solaris 发行版中检验过的 USB 设备的完整列表,请访问:
http://www.sun.com/io_technologies/USB.html
通过修改 scsa2usb.conf 文件,其他存储设备也有可能成为 USB 2.0 设备。 有关详细信息,请参见 scsa2usb(7D) 手册页。
Solaris USB 2.0 设备支持包括以下功能:
将 USB 总线速度从 12 Mbps 提高到 480 Mbps。 这种速度增加意味着当支持 USB 2.0 规范的设备连接到 USB 2.0 端口时,其运行速度将大大高于支持 USB 1.1 规范的同类设备。
以下端口都是 USB 2.0 端口:
USB 2.0 PCI 卡上的端口
连接到 USB 2.0 端口的 USB 2.0 集线器上的端口
在所有基于 PCI 的 Sun 平台上,USB 2.0 都可用于 Solaris。 要在 SPARC 平台上使用 USB 2.0 端口,需要安装基于 NEC 芯片的 USB 2.0 PCI 卡,在 x86 平台上建议也使用这种 PCI 卡。 有关在 Solaris 发行版中检验过的 USB 2.0 PCI 卡列表,请访问 http://www.sun.com/io_technologies/USB.html。
USB 1.1 设备的工作方式与过去一样,即使系统中同时有 USB 1.1 和 USB 2.0 设备也是如此,但有一种情况例外。 请参见以下注意事项。
连接到已连接至 USB 2.0 端口的 USB 2.0 集线器时,将无法支持 USB 1.1 设备。
尽管 USB 2.0 设备可以在 USB 1.x 端口上运行,但其性能远低于连接到 USB 2.0 端口时的性能。
有关 USB 2.0 设备支持的详细信息,请参见 ehci(7D) 和 usba(7D) 手册页。
有关 USB 电缆和由总线提供电源的设备的信息,请参见 System Administration Guide: Basic Administration 中的 “About USB in the Solaris Environment”。
此功能说明在 Solaris 9 4/04 发行版中是新增的,并且在 x86 和 SPARC 平台上均可用。
下表说明了 Solaris 对 USB 1.1 和 USB 2.0 设备的支持情况。
|
Solaris 8 HW* 发行版 |
Solaris 9 发行版 |
Solaris 9 4/04 发行版 |
---|---|---|---|
USB 1.1 |
SPARC 和 x86 |
SPARC 和 x86 |
SPARC 和 x86 |
USB 2.0 |
SPARC |
N/A |
SPARC 和 x86 |
Solaris 8 HW 不是指 Solaris 8 发行版,而是指 Solaris 8 Hardware (HW) 发行版,其起始版是 Solaris 8 HW 5/03 发行版。 在 Solaris 8 HW 5/03 发行版中,USB 双框架的修补程序编号是 109896。
有关 Sun 硬件的 USB 支持的信息,请参见 System Administration Guide: Basic Administration 中的 “Using USB Devices (Overview/Tasks)”。
该功能说明在 Solaris 9 4/04 发行版中已进行修订。 目前这些功能在 x86 和 SPARC 平台上均可用。
通过卷管理,所有 USB 存储设备现在都作为可移动媒体设备被访问。 此变化具有如下优点:
现在可以支持使用标准 MS-DOS 或 Windows (FAT) 文件系统的 USB 存储设备。
可以使用用户友好的 rmformat 命令代替 format 命令对所有 USB 存储设备进行格式化和分区操作。 如果需要 format 命令的功能,请使用 format -e 命令。
如果需要进行 fdisk 风格的分区,请使用 fdisk 命令。
非 root 用户现在可以访问 USB 存储设备,因为执行 mount 命令不再需要具有 root 权限。 使用 vold 命令可以将设备自动装载至 /rmdisk 目录下供使用。 如果在系统停机时连接了一个新设备,请使用 boot -r 命令进行重新配置引导,以便 vold 命令能够识别出该设备。 请注意,vold 命令无法自动识别热插拔的设备。 如果系统启动时已经连接了一个新设备,请重新启动 vold 命令。 有关详细信息,请参见 vold(1M) 和 scsa2usb(7D) 手册页。
可以装载和访问使用 FAT 文件系统的磁盘。 例如:
mount -F pcfs /dev/dsk/c2t0d0s0:c /mnt |
除支持 LOG SENSE 页面的设备外,现在可对所有 USB 存储设备进行电源管理。 具有 LOG SENSE 页面的设备通常是 SCSI 驱动器,SCSI 驱动器通过 USB 至 SCSI 的桥接设备进行连接。 在以前的 Solaris 发行版中,一些 USB 存储系统不进行电源管理,因为它们没有被识别为可移动媒体。
使用 USB 大容量存储设备时,应用程序的工作方式可能有所不同。 如果应用程序要用到 USB 存储设备,请注意以下问题:
应用程序可能对媒体的存储容量作出不正确的假设,因为以前只有较小存储容量的设备(例如软盘和 Zip 驱动器)才是可移动设备。
当应用程序发出请求,要求设备弹出媒体,而这种操作却不适用于该设备(例如硬盘驱动器)时,请求会成功,但不会产生任何结果。
要恢复为以前的 Solaris 发行版,即不把所有 USB 大容量存储设备作为可移动媒体设备处理,请更新 /kernel/drv/scsa2usb.conf 文件。
有关使用 USB 大容量存储设备的详细信息,请参见 scsa2usb(7D) 手册页。
有关解决 USB 大容量存储设备问题的信息,请参见 System Administration Guide: Basic Administration 中的 “What's New in USB Devices?”。
本节说明 Solaris 9 4/04 发行版中的 USB 驱动程序增强功能。 这些增强功能在 x86 和 SPARC 平台上均可用。
新的通用 USB 驱动程序 – 现在可以通过使用标准 UNIX read(2) 和 write(2) 系统调用的应用程序来访问和处理 USB 1.0 设备,而无需编写特定的内核驱动程序。 其他功能包括:
应用程序具有对原始设备数据和设备状态的访问权限。
该驱动程序支持控制、批量和中断(入和出)传送。
有关详细信息,请参见 ugen(7D) 手册页和 USB DDK,这些资料可在以下 Web 站点找到:
http://developers.sun.com/solaris/developer/support/driver/usb.html |
Digi Edgeport USB 支持 – 提供对多种 Digi Edgeport USB 到串行端口的转换设备的支持。
新设备可作为 /dev/term/[0-9]* 和 /dev/cua/[0-9]* 访问。
USB 串行端口可以像任何其他串行端口一样使用,但不可用作本地串行控制台。 用户可以很容易地理解这样一个事实:数据是通过 USB 端口运行的。
有关详细信息,请参见 usbser_edge(7D) 手册页,或访问 http://www.digi.com 和 http://www.sun.com/io。
适用于用户编写的内核程序和用户级驱动程序的文档和二进制支持 – 可以使用 Solaris USB 驱动程序开发工具包 (DDK),其中包括文档。 有关 USB 驱动程序开发的最新信息(包括 DDK 的信息),请访问以下 Web 站点:
http://developers.sun.com/solaris/developer/support/driver/usb.html |
此功能说明在 Solaris 9 4/04 发行版中是新增的。
EHCI 驱动程序的功能包括:
与支持 USB 2.0 的增强主机控制器接口兼容。
支持高速控制、批量和中断传送。
目前尚不支持高速同步或分路处理。 例如,不能将 USB 1.x 设备连接到已连接至 USB 2.0 端口的 2.0 集线器。
如果系统中同时具备 USB 2.0 和 USB 1.0/1.1 设备,EHCI 和 OHCI 驱动程序将根据系统连接的设备类型分别负责设备控制。
USB 2.0 PCI 卡具有一个 EHCI 控制器和一个或多个 OHCI 控制器。
在连接 USB 1.1 设备时,会将其动态分配给 OHCI 控制器。
在连接 USB 2.0 设备时,会将其动态分配到 EHCI 控制器。