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 7D 9 .Os 10 .Sh NAME 11 .Nm usba , 12 .Nm usb 13 .Nd illumos USB Architecture (USBA) 14 .Sh DESCRIPTION 15 USB provides a low-cost means for attaching peripheral devices, including 16 mass-storage devices, keyboards, mice, and printers, to a system. 17 For complete information on the USB architecture, visit the USB website at 18 http://www.usb.org. 19 .Pp 20 USBA supports 126 hot-pluggable USB devices per USB bus. 21 The maximum data transfer rate is 5 Gbits (SuperSpeed USB 3.0), 480 Mbits (high 22 speed USB 2.0), 12 Mbits (full speed USB 1.x), or 1.5 Mbits (low speed USB 1.x). 23 .Pp 24 USBA adheres to the 25 .Em Universal Serial Bus 3.0 26 specification and provides a transport layer abstraction to USB client 27 drivers. 28 .Pp 29 For information on how to write USB client drivers, see 30 .Em Writing Device Drivers . 31 For the latest information on writing USB drivers, visit 32 .Em http://illumos.org/books/wdd . 33 For a complete list of USBA interfaces, see 34 .Xr Intro 9F 35 or 36 .Xr Intro 9S . 37 .Pp 38 Devices without a driver may be able to leverage libusb. 39 .Sh FILES 40 Listed below are drivers and modules which either utilize or are utilized by 41 USBA. 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 77 The messages described below may appear on the system console as well as being 78 logged. 79 All 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 85 name=<node_name>) 86 The installed software does not contain a supported driver for this 87 hardware. 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! 91 An internal error occurred. 92 Please reboot your system. 93 If this problem persists, contact your system vendor. 94 .El 95 .Pp 96 The following messages may be logged into the system log. 97 They 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> . 103 Driver is incompatible with USBA framework. 104 .El 105 .Sh SEE ALSO 106 .Xr cfgadm_usb 1M , 107 .Xr attributes 5 , 108 .Xr ehci 7D , 109 .Xr hid 7D , 110 .Xr hubd 7D , 111 .Xr ohci 7D , 112 .Xr scsa2usb 7D , 113 .Xr ugen 7D , 114 .Xr uhci 7D , 115 .Xr usb_ac 7D , 116 .Xr usb_as 7D , 117 .Xr usb_ia 7D , 118 .Xr usb_mid 7D , 119 .Xr usbprn 7D , 120 .Xr usbsacm 7D , 121 .Xr usbser_edge 7D , 122 .Xr usbsksp 7D , 123 .Xr usbsprl 7D , 124 .Xr usbvc 7D , 125 .Xr virtualkm 7D , 126 .Xr xhci 7D , 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 143 Booting from USB mass-storage devices is not supported on SPARC, but is 144 supported on X86.