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