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