xref: /illumos-gate/usr/src/man/man4d/usba.4d (revision 82079dec87a9b623b65337b7422dc7c27a04f0d9)
1.\" Copyright (c) 2009, Sun Microsystems, Inc.  All Rights Reserved
2.\" Copyright 2016 Joyent, Inc.
3.\" Copyright 2020 Peter Tribble.
4.\" 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.
5.\"  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
6.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7.Dd Jan 10, 2020
8.Dt USBA 4D
9.Os
10.Sh NAME
11.Nm usba ,
12.Nm usb
13.Nd illumos USB Architecture (USBA)
14.Sh DESCRIPTION
15USB provides a low-cost means for attaching peripheral devices, including
16mass-storage devices, keyboards, mice, and printers, to a system.
17For complete information on the USB architecture, visit the USB website at
18http://www.usb.org.
19.Pp
20USBA supports 126 hot-pluggable USB devices per USB bus.
21The maximum data transfer rate is 5 Gbits (SuperSpeed USB 3.0), 480 Mbits (high
22speed USB 2.0), 12 Mbits (full speed USB 1.x), or 1.5 Mbits (low speed USB 1.x).
23.Pp
24USBA adheres to the
25.Em Universal Serial Bus 3.0
26specification and provides a transport layer abstraction to USB client
27drivers.
28.Pp
29For information on how to write USB client drivers, see
30.Em Writing Device Drivers .
31For the latest information on writing USB drivers, visit
32.Em http://illumos.org/books/wdd .
33For a complete list of USBA interfaces, see
34.Xr Intro 9F
35or
36.Xr Intro 9S .
37.Pp
38Devices without a driver may be able to leverage libusb.
39.Sh FILES
40Listed below are drivers and modules which either utilize or are utilized by
41USBA.
42.Bl -column -offset indent ".Pa /kernel/drv/[sparcv9|amd64]/usbser_edge" "Edgeport USB to serial port"
43.It Em Client Driver Ta Em Function/Device
44.It Ta
45.It Pa /kernel/drv/[sparcv9|amd64]/hid Ta HID class
46.It Pa /kernel/drv/[sparcv9|amd64]/hubd Ta hub class
47.It Pa /kernel/drv/[sparcv9|amd64]/scsa2usb Ta mass storage class
48.It Pa /kernel/drv/[sparcv9|amd64]/usbprn Ta printer class
49.It Pa /kernel/drv/[sparcv9|amd64]/usb_as Ta audio streaming class
50.It Pa /kernel/drv/[sparcv9|amd64]/usb_ac Ta audio control class
51.It Pa /kernel/drv/[sparcv9|amd64]/usbvc Ta video class
52.It Pa /kernel/drv/[sparcv9|amd64]/usb_mid Ta multi-interface device
53.It Pa /kernel/drv/[sparcv9|amd64]/usb_ia Ta interface-association driver
54.It Pa /kernel/drv/[sparcv9|amd64]/usbser_edge Ta Edgeport USB to serial port
55.It Pa /kernel/drv/[sparcv9|amd64]/usbsksp Ta Keyspan USB to serial port
56.It Pa /kernel/drv/[sparcv9|amd64]/usbsprl Ta pl2303 USB to serial port
57.It Pa /kernel/drv/[sparcv9|amd64]/usbsacm Ta CDC ACM class to serial port
58.It Pa /kernel/drv/[sparcv9|amd64]/ugen Ta generic USB driver
59.El
60.Bl -column -offset indent ".Pa /kernel/strmod/[sparcv9|amd64/]usb_ah" "Function/Device"
61.It Ta
62.It Em Client Streams Modules Ta Em Function/Device
63.It Ta
64.It Pa /kernel/strmod/[sparcv9|amd64]/usbkbm Ta Keyboard
65.It Pa /kernel/strmod/[sparcv9|amd64]/usbms Ta Mouse
66.It Pa /kernel/strmod/[sparcv9|amd64]/usb_ah Ta Audio HID
67.El
68.Bl -column -offset indent ".Em Host Controller Interface Drivers" "Extensible HCI"
69.It Em Host Controller Interface Drivers Ta Em Device
70.It Ta
71.It Pa /kernel/drv/amd64/xhci Ta Extensible HCI
72.It Pa /kernel/drv/[sparcv9|amd64]/ehci Ta Enhanced HCI
73.It Pa /kernel/drv/[sparcv9|amd64]/ohci Ta Open HCI
74.It Pa /kernel/drv/[sparcv9|amd64]/uhci Ta Universal HCI
75.El
76.Sh DIAGNOSTICS
77The messages described below may appear on the system console as well as being
78logged.
79All  messages are formatted in the following manner:
80.Bl -tag -width Sy -offset 2n
81.It WARNING: Error message...
82.El
83.Bl -tag -width Sy -offset 2n
84.It Sy no driver found for device <device_name> (interface <number> node
85name=<node_name>)
86The installed software does not contain a supported driver for this
87hardware.
88<number> is the interface number.
89<name> is either the device path name or the device name.
90.It Sy Draining callbacks timed out!
91An internal error occurred.
92Please reboot your system.
93If this problem persists, contact your system vendor.
94.El
95.Pp
96The following messages may be logged into the system log.
97They are formatted in the following manner:
98.Bd -literal -offset 2n
99<device path><usba<instance number>): message...
100.Ed
101.Bl -tag -width Sy -offset 2n
102.It Sy Incorrect USB driver version for <n.m> .
103Driver is incompatible with USBA framework.
104.El
105.Sh SEE ALSO
106.Xr ehci 4D ,
107.Xr hid 4D ,
108.Xr hubd 4D ,
109.Xr ohci 4D ,
110.Xr scsa2usb 4D ,
111.Xr ugen 4D ,
112.Xr uhci 4D ,
113.Xr usb_ac 4D ,
114.Xr usb_as 4D ,
115.Xr usb_ia 4D ,
116.Xr usb_mid 4D ,
117.Xr usbprn 4D ,
118.Xr usbsacm 4D ,
119.Xr usbser_edge 4D ,
120.Xr usbsksp 4D ,
121.Xr usbsprl 4D ,
122.Xr usbvc 4D ,
123.Xr virtualkm 4D ,
124.Xr xhci 4D ,
125.Xr attributes 7 ,
126.Xr cfgadm_usb 8 ,
127.Xr Intro 9F ,
128.Xr Intro 9S
129.Pp
130.Rs
131.%T Writing Device Drivers
132.Re
133.Rs
134.%T Universal Serial Bus Specification 3.0
135.Re
136.Rs
137.%T Interface Association Descriptor Engineering Change Notice (ECN)
138.Re
139.Rs
140.%T System Administration Guide: Basic Administration
141.Re
142.Sh NOTES
143Booting from USB mass-storage devices is not supported on SPARC, but is
144supported on X86.
145