|
For more information on using USB mass storage devices, see the scsa2usb(7D) man page.
Troubleshooting Tips for USB Mass Storage Devices
Keep the following tips in mind if you have problems adding or removing
a USB mass storage device.
If USB devices are added or removed when the system is down,
you must perform a reconfiguration boot.
If you have problems accessing a device that was connected while the
system is running, try the following command:
Do not move devices around if the system has been powered
down by a suspend operation. For more information, see SPARC: USB Power Management.
If a device has been hot removed while in use by applications
and is no longer available, then stop the applications. Use the prtconf command to see whether the device node has been removed.
USB Driver Enhancements
This section describes USB driver enhancements in this Solaris release.
New generic USB driver (ugen) features
and support - USB devices can now be accessed and manipulated
by applications using standard Unix read(2) and write(2) system calls, and
without writing a special kernel driver. Additional features include:
Applications have access to raw device data and device status.
Supports control, bulk, and interrupt (in and out) transfers.
Support for ugen is only available on ports operated
by the USBA 1.0 framework.
To discover whether a port is operated by the USBA 1.0 framework, plug
the device into the port. Then, issue the prtconf -D command. The prtconf -D hierarchy
tree shows the device on the port, which is currently unbound to a driver,
as device. Traverse up the prtconf
hierarchy tree until you see an entry that has a driver with ohci, ehci, or uhci in its name.
The ohci, ehci, or uhci
entry represents the host controller. If the host controller driver name
begins with usba10_, the devices in it's subtree are operated
by the USBA 1.0 framework.
For more information, refer to the ugen(7D) man page
and the USB DDK at:
Digi Edgeport USB support - Provides support for several Digi Edgeport USB to serial port
converter devices.
New devices are accessed as /dev/term/[0-9]*
and /dev/cua/[0-9]*.
USB serial ports are usable as any other serial port would
be, except that they cannot serve as a local serial console. The fact that
their data is run through a USB port is transparent to the user.
x86 platforms - The
Digi Edgeport USB serial driver is supported only on the USBA 1.0 framework.
See the preceding section on ugen for information on determining
how to tell which framework operates which ports.
For more information, see usbser_edge(7D), or go
to http://www.digi.com
and http://www.sun.com/io.
Documentation and binary support for
user-written kernel and userland drivers - A Solaris USB
Driver Development Kit (DDK) is available, and its documentation is applicable
to the Solaris 10 release. For up-to-date information on USB driver development,
including information on the DDK, go to:
The EHCI and OHCI Drivers
Features of the EHCI driver include:
Complies with enhanced host controller interface that supports
USB 2.0.
Supports high-speed control, bulk, and interrupt transfers.
Currently, there is no support for high-speed isochronous
transactions. It is possible that some USB audio devices might eventually
use high-speed isochronous transactions.
If there are USB 2.0 and USB 1.x devices on the system, the EHCI and OHCI drivers hand-off
device control depending upon the type of device that is connected to the
system.
The USB 2.0 PCI card has one EHCI controller
and one or more OHCI controllers.
A USB 1.1 device is dynamically assigned to the OHCI controller when it is plugged in. A USB 2.0 device is dynamically
assigned to the EHCI controller when it is plugged in.
Overview of USB Devices
Universal Serial Bus (USB) was developed by the PC industry to provide
a low-cost solution for attaching peripheral devices, such as keyboards, mouse
devices, and printers, to a system.
USB connectors are designed to fit only one type of cable, one way.
The primary design motivation for USB was to alleviate the need for multiple
connector types for different devices. This design reduces the clutter on
the back panel of a system.
Devices connect to USB ports on external USB hubs, or on a root hub
that is located on the computer itself. Since hubs have several ports, several
branches of a device tree can stem from a hub.
This table lists specific USB devices that are supported in the Solaris
environment.
USB Devices | Systems Supported |
HID control on audio devices | SPARC based and x86 based systems. |
Hubs | SPARC based and x86 based systems. |
Keyboards and mouse devices | SPARC based and x86 based systems. |
Mass storage devices | SPARC based and x86 based systems. Supported configurations include only one keyboard and mouse.
These devices must be connected to an on-board
USB host controller. |
Printers | SPARC based and x86 based systems. |
Speakers and microphones | SPARC based and x86 based systems. |
Commonly Used USB Acronyms
The following table describes the USB acronyms that are used in the
Solaris environment. For a complete description of USB components and acronyms,
go to http://www.usb.org.
Acronym | Definition |
ugen | USB generic driver |
USB | Universal Serial Bus |
USBA | Universal Serial Bus Architecture (Solaris) |
USBAI | USBA Client Driver Interface (Solaris) |
HCD | USB host controller driver |
EHCI | Enhanced Open Controller Interface |
OHCI | Open Host Controller Interface |
UHCI | Universal Host Controller Interface |
|