DESCRIPTION
USB provides a low-cost means for attaching peripheral devices, including mass-storage devices, keyboards, mice, and printers, to a system. For complete information on the USB architecture, visit the USB website at http://www.usb.org.
USBA supports 126 hot-pluggable USB devices per USB bus. The maximum data transfer rate is 5 Gbits (SuperSpeed USB 3.0), 480 Mbits (high speed USB 2.0), 12 Mbits (full speed USB 1.x), or 1.5 Mbits (low speed USB 1.x).
USBA adheres to the
Universal Serial Bus 3.0 specification and provides a transport layer abstraction to USB client drivers.
For information on how to write USB client drivers, see
Writing Device Drivers. For the latest information on writing USB drivers, visit
http://illumos.org/books/wdd. For a complete list of USBA interfaces, see
Intro(9F) or
Intro(9S).
Devices without a driver may be able to leverage libusb.
FILES
Listed below are drivers and modules which either utilize or are utilized by USBA. Drivers in
/kernel/drv are 32 bit drivers (x86 only). Drivers in
/kernel/drv/sparcv9 or
kernel/drv/amd64 are 64 bit drivers.
Client Driver |
Function/Device |
|
|
kernel/drv/[sparcv9|amd64/]hid |
HID class |
kernel/drv/[sparcv9|amd64/]hubd |
hub class |
kernel/drv/[sparcv9|amd64/]scsa2usb |
mass storage class |
kernel/drv/[sparcv9|amd64/]usbprn |
printer class |
kernel/drv/[sparcv9|amd64/]usb_as |
audio streaming class |
kernel/drv/[sparcv9|amd64/]usb_ac |
audio control class |
kernel/drv/[sparcv9|amd64/]usbvc |
video class |
kernel/drv/[sparcv9|amd64/]usb_mid |
multi-interface device |
kernel/drv/[sparcv9|amd64/]usb_ia |
interface-association driver |
kernel/drv/[sparcv9|amd64/]usbser_edge |
Edgeport USB to serial port |
kernel/drv/[sparcv9|amd64/]usbsksp |
Keyspan USB to serial port |
kernel/drv/[sparcv9|amd64/]usbsprl |
pl2303 USB to serial port |
kernel/drv/[sparcv9|amd64/]usbsacm |
CDC ACM class to serial port |
kernel/drv/[sparcv9|amd64/]ugen |
generic USB driver |
kernel/drv/[sparcv9|amd64/]ohci |
open host controller driver |
kernel/drv/[sparcv9|amd64/]uhci |
universal host controller driver |
kernel/drv/[sparcv9|amd64/]ehci |
enhanced host controller driver |
kernel/drv/[sparcv9|amd64/]xhci |
extensible host controller driver |
|
|
Client Streams Modules |
Function/Device |
|
|
/kernel/strmod/[sparcv9|amd64/]usbkbm |
Keyboad |
/kernel/strmod/[sparcv9|amd64/]usbms |
Mouse |
/kernel/strmod/[sparcv9|amd64/]usb_ah |
Audio HID |
Host Controller Interface Drivers |
Device |
|
|
/kernel/drv/[amd64/]xhci |
Extensible HCI |
/kernel/drv/[sparcv9|amd64/]ehci |
Enhanced HCI |
/kernel/drv/[sparcv9|amd64/]ohci |
Open HCI |
/kernel/drv/[sparcv|amd64/]uhci |
Universal HCI |
DIAGNOSTICS
The messages described below may appear on the system console as well as being logged. All messages are formatted in the following manner:
-
WARNING: Error message...
-
-
no driver found for device <device_name> (interface <number> node
-
name=<node_name>) The installed software does not contain a supported driver for this hardware. <number> is the interface number. <name> is either the device path name or the device name.
-
Draining callbacks timed out!
-
An internal error occurred. Please reboot your system. If this problem persists, contact your system vendor.
The following messages may be logged into the system log. They are formatted in the following manner:
<device path><usba<instance number>): message...
-
Incorrect USB driver version for <n.m>.
-
Driver is incompatible with USBA framework.