usba.7d revision c10c16dec587a0662068f6e2991c29ed3a9db943
te
Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
usba 7D "22 Apr 2009" "SunOS 5.11" "Devices"
NAME
usba, usb - Solaris USB Architecture (USBA)
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 1.5 Mbits (low speed USB 1.x) or 12 Mbits (full speed USB 1.x) or 480 MBits (high speed USB 2.0) Mbits per second (Mbps).

USBA adheres to the Universal Serial Bus 2.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://developers.sun.com/solaris/developer/support/driver/usb.html. For a complete list of USBA interfaces, see Intro(9F) and Intro(9S).

Devices without a driver may have a libusb(3LIB) application. For more information, see /usr/sfw/share/doc/libusb/libusb.txt.

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/]hwahc HWA Host Controller class
kernel/drv/[sparcv9|amd64/]hwarc HWA Radio Controller 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/]wusb_ca WUSB Cable Association class
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
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/[sparcv9|amd64]ehci Enhanced HCI
/kernel/drv/[sparcv9|amd64]ohci Open HCI
/kernel/drv/[sparcv|amd64/]uhci Univeral HCI
ATTRIBUTES

See attributes(5) for a description of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
ArchitecturePCI-based systems
SEE ALSO

cfgadm_usb(1M), libusb(3LIB), attributes(5), ehci(7D), hid(7D), hubd(7D), ohci(7D), scsa2usb(7D), uhci(7D), usb_ac(7D), usb_as(7D), usb_ia(7D), usb_mid(7D), usbprn(7D), usbsacm(7D), usbser_edge(7D), usbsksp(7D), usbsprl(7D), usbvc(7D), ugen(7D), virtualkm(7D). Intro(9F), Intro(9S)

Writing Device Drivers

Universal Serial Bus Specification 2.0.

Interface Association Descriptor Engineering Change Notice (ECN)

System Administration Guide: Basic Administration

http://www.sun.com

NOTES

Booting from USB mass-storage devices is not supported on SPARC, but is supported on X86.

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 Solaris 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 occured. 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.