1 USBA(7D)                            Devices                           USBA(7D)
   2 
   3 NAME
   4      usba, usb - illumos USB Architecture (USBA)
   5 
   6 DESCRIPTION
   7      USB provides a low-cost means for attaching peripheral devices, including
   8      mass-storage devices, keyboards, mice, and printers, to a system.  For
   9      complete information on the USB architecture, visit the USB website at
  10      http://www.usb.org.
  11 
  12      USBA supports 126 hot-pluggable USB devices per USB bus.  The maximum
  13      data transfer rate is 5 Gbits (SuperSpeed USB 3.0), 480 Mbits (high speed
  14      USB 2.0), 12 Mbits (full speed USB 1.x), or 1.5 Mbits (low speed USB
  15      1.x).
  16 
  17      USBA adheres to the Universal Serial Bus 3.0 specification and provides a
  18      transport layer abstraction to USB client drivers.
  19 
  20      For information on how to write USB client drivers, see Writing Device
  21      Drivers.  For the latest information on writing USB drivers, visit
  22      http://illumos.org/books/wdd.  For a complete list of USBA interfaces,
  23      see Intro(9F) or Intro(9S).
  24 
  25      Devices without a driver may be able to leverage libusb.
  26 
  27 FILES
  28      Listed below are drivers and modules which either utilize or are utilized
  29      by USBA.  Drivers in /kernel/drv are 32 bit drivers (x86 only).  Drivers
  30      in /kernel/drv/sparcv9 or kernel/drv/amd64 are 64 bit drivers.
  31 
  32            Client Driver                                 Function/Device
  33 
  34            kernel/drv/[sparcv9|amd64/]hid                HID class
  35            kernel/drv/[sparcv9|amd64/]hubd               hub class
  36            kernel/drv/[sparcv9|amd64/]scsa2usb           mass storage class
  37            kernel/drv/[sparcv9|amd64/]usbprn             printer class
  38            kernel/drv/[sparcv9|amd64/]usb_as             audio streaming class
  39            kernel/drv/[sparcv9|amd64/]usb_ac             audio control class
  40            kernel/drv/[sparcv9|amd64/]usbvc              video class
  41            kernel/drv/[sparcv9|amd64/]usb_mid            multi-interface device
  42            kernel/drv/[sparcv9|amd64/]usb_ia             interface-association driver
  43            kernel/drv/[sparcv9|amd64/]usbser_edge        Edgeport USB to serial port
  44            kernel/drv/[sparcv9|amd64/]usbsksp            Keyspan USB to serial port
  45            kernel/drv/[sparcv9|amd64/]usbsprl            pl2303 USB to serial port
  46            kernel/drv/[sparcv9|amd64/]usbsacm            CDC ACM class to serial port
  47            kernel/drv/[sparcv9|amd64/]ugen               generic USB driver
  48            kernel/drv/[sparcv9|amd64/]ohci               open host controller driver
  49            kernel/drv/[sparcv9|amd64/]uhci               universal host controller
  50                                                          driver
  51            kernel/drv/[sparcv9|amd64/]ehci               enhanced host controller driver
  52            kernel/drv/[sparcv9|amd64/]xhci               extensible host controller
  53                                                          driver
  54 
  55 
  56            Client Streams Modules                       Function/Device
  57 
  58            /kernel/strmod/[sparcv9|amd64/]usbkbm        Keyboad
  59            /kernel/strmod/[sparcv9|amd64/]usbms         Mouse
  60            /kernel/strmod/[sparcv9|amd64/]usb_ah        Audio HID
  61 
  62            Host Controller Interface Drivers        Device
  63 
  64            /kernel/drv/[amd64/]xhci                 Extensible HCI
  65            /kernel/drv/[sparcv9|amd64/]ehci         Enhanced HCI
  66            /kernel/drv/[sparcv9|amd64/]ohci         Open HCI
  67            /kernel/drv/[sparcv|amd64/]uhci          Universal HCI
  68 
  69 DIAGNOSTICS
  70      The messages described below may appear on the system console as well as
  71      being logged.  All  messages are formatted in the following manner:
  72 
  73        WARNING: Error message...
  74 
  75        no driver found for device <device_name>   (interface <number> node
  76                name=<node_name>) The installed software   does not contain a
  77                supported driver for this hardware.  <number> is   the interface
  78                number.  <name> is either the device path name or the device
  79                name.
  80 
  81        Draining callbacks timed out!
  82                An internal error occurred.  Please reboot your system.  If
  83                this problem persists, contact your system vendor.
  84 
  85      The following messages may be logged into the system log.  They are
  86      formatted in the following manner:
  87 
  88        <device path><usba<instance number>): message...
  89 
  90        Incorrect USB driver version for <n.m>.
  91                Driver is incompatible with USBA framework.
  92 
  93 SEE ALSO
  94      cfgadm_usb(1M), attributes(5), ehci(7D), hid(7D), hubd(7D), ohci(7D),
  95      scsa2usb(7D), ugen(7D), uhci(7D), usb_ac(7D), usb_as(7D), usb_ia(7D),
  96      usb_mid(7D), usbprn(7D), usbsacm(7D), usbser_edge(7D), usbsksp(7D),
  97      usbsprl(7D), usbvc(7D), virtualkm(7D), xhci(7D), Intro(9F), Intro(9S)
  98 
  99 
 100      Writing Device Drivers.
 101 
 102      Universal Serial Bus Specification 3.0.
 103 
 104      Interface Association Descriptor Engineering Change Notice (ECN).
 105 
 106      System Administration Guide: Basic Administration.
 107 
 108 NOTES
 109      Booting from USB mass-storage devices is not supported on SPARC, but is
 110      supported on X86.
 111 
 112 illumos                          May 13, 2017                          illumos