|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Devices and File Systems Oracle Solaris 10 1/13 Information Library|
The following information is described in this section:
This Oracle Solaris release includes expanded supported for USB 3.0 devices (“SuperSpeed” devices) that use the USB 3.0 xhci host controller driver. The xhci host controller driver supports all USB devices, with the exception of audio devices. The xhci host controller driver supports interrupt, control, and bulk transfers for USB hosts, including super speed and non-super speed bus interfaces. Compatibility with USB 2.0 , 1.1, and 1.0 devices and drivers is supported so that you can use the same cables, connectors, and software interfaces.
Support for the following USB devices is provided on both SPARC and x86 based systems, except where indicated:
USB 3.0 devices work in USB 3.0 mode when they are inserted into USB 3.0 ports. Legacy USB devices (2.0, 1.1, and 1.0) continue to work when they are connected to USB 3.0 ports, with the exception of USB audio devices.
Audio device support is provided for USB 2.0, 1.1, and 1.0 audio devices only.
Devices that are not supported by a USB driver might include libusb applications, such as gphoto2, gtkam, and pilotlink. For more information, refer to the user-space USB library documentation in /usr/share/doc/libusb/libusb.txt.
Generic USB driver support – See ugen(7D).
Human Interface Device (HID) support (keyboard and mouse devices) – See hid(7D))
Hub support – See hubd(7D).
USB CDC-ECM (USB Communication Device Class- Ethernet Control Model) device support
Serial device support, including the following:
Storage device support – See scsa2usb(7D).
User-space USB device management library support. See libusb(3LIB).
Increased USB 3.0 bus speed from 480 Mbits/sec to 5 Gbits/sec.
A USB 3.0 or USB 2.0 port might be one of the following possibilities:
A port on a USB 3.0 or USB 2.0 PCI card
A port on a USB 3.0 or USB 2.0 hub that is connected to USB 3.0 or USB 2.0 port
A port on a SPARC or x86 computer motherboard
Note - A USB 2.0 PCI card might be needed for older SPARC platforms.
USB 2.0 and USB 1.1 devices work as they have in the past, even if you have USB 3.0, USB 2.0, and USB 1.0 devices on the same system. A USB 2.0, and a USB 1.0 host controller supports all four transfer types: control, bulk, interrupt, and isochronous. A USB 3.0 host controller supports three transfer types: control, bulk, and interrupt. The isochronous transfer type is not supported under a USB 3.,0 host controller.
While USB 3.0 and USB 2.0 devices can operate on a USB 1.1 or 1.0 port, their performance is significantly better when they are connected to a USB 2.0 or a USB 3.0 port.
An XHCI host controller does not have a companion controllers, meaning a single controller supports all speeds of the USB devices. A USB 2.0 host controller has one high-speed EHCI and one or more OHCI or UHCI embedded controllers. Devices that are connected to a USB 2.0 port are dynamically assigned to either a EHCI or OHCI controller, depending on whether they support USB 2.0.
For more information about USB 3.0 device support, see xhci(7D).
For more information about USB 1.1 device support, see ohci(7D).
For a description of USB devices and terminology, see Overview of USB Devices.
USB 3.0 devices are defined as super speed (“SuperSpeed”) devices that follow the USB 3.0 specification. USB 2.0 devices are defined as high-speed (“Hi-Speed”) devices that follow the USB 2.0 specification. You can refer to the USB 3.0 and the USB 2.0 specifications at http://www.usb.org/home.
To identify the speed of your USB device, check the /var/adm/messages file for messages similar to the following:
Dec 13 17:05:57 mysystem usba: [ID 912658 kern.info] USB 2.0 device (usb50d,249) operating at hi speed (USB 2.x) on USB 2.0 external hub: storage@4, scsa2usb0 at bus address 4
Mass storage devices, such as CD-RWs, hard disks, DVDs, digital cameras, diskettes, tape drives, memory sticks, and multi-format card readers
Keyboards and mouse devices
Audio devices, such as speakers and microphones
Note - Audio device support is not available in USB 3.0.
Additional storage devices might work by modifying the scsa2usb.conf file. For more information, see scsa2usb(7D).
Bus-powered hubs use power from the USB bus to which they are connected, to power devices connected to them. Special care must be taken to not overload these hubs, because the power these hubs offer to their downstream devices is limited.
Power budgeting is implemented for USB devices. This feature has the following limitations:
Cascading two bus-powered hubs is not recommended.
Each bus-powered hub is allowed a maximum of 100 mA only for each port.
Only self-powered or low bus-powered devices are allowed to connect to a bus-powered hub. High bus-powered devices are denied the connection. Some hubs or devices can report a false power source, such that the connection might be unpredictable.
Do not move the keyboard and mouse during a reboot or at the ok prompt on a SPARC system. You can move the keyboard and mouse to another hub at any time after a system reboot. After you plug in a keyboard and mouse, they are fully functional again.
The keys just to the left of the keypad might not function on some third-party USB keyboards.
SPARC – Keep the following issues in mind when using USB keyboards and mouse devices on SPARC systems:
The power key on a USB keyboard behaves differently than the power key on the type 5 keyboard. On a USB keyboard, you can suspend or shut down the system by using the SUSPEND/SHUTDOWN key. However, you cannot use that key to power up the system.
Before the boot process finishes, the OpenBoot PROM (OBP) limits keyboard and mouse devices to the motherboard root hub ports only.
USB keyboard and mouse devices cannot be used simultaneously with Type 3, 4, or 5 keyboards on legacy SPARC systems.
For information about multiple keyboard and mouse device support, see virtualkm(7D).
Support for more than 3 buttons is available on USB or PS/2 mouse devices.
Wheel mouse scrolling is available on a USB or PS/2 mouse device. This support means that rolling the wheel on a USB or a PS/2 mouse results in a scroll in the application or window under mouse focus. StarOffice, Firefox, and GNOME applications support wheel mouse scrolling. However, other applications might not support this functionality.
A USB hub is responsible for the following tasks:
Monitoring the insertion or removal of a device on its ports
Power managing individual devices on its ports
Controlling power to its ports
The USB host controller is responsible for the following tasks:
Directing the USB bus. Individual devices cannot arbitrate for the bus.
Polling the devices by using a polling interval that is determined by the device. The device is assumed to have sufficient buffering to account for the time between the polls.
Sending data between the USB host controller and its attached devices. Peer-to-peer communication is not supported.
Keeping the following key points in mind when using USB hub devices:
Do not cascade hubs beyond four levels on either SPARC based systems or x86 based systems. On SPARC systems, the OpenBoot PROM cannot reliably probe beyond four levels of devices.
Do not plug a bus-powered hub into another bus-powered hub in a cascading style. A bus-powered hub does not have its own power supply.
Do not connect a device that requires a large amount of power to a bus-powered hub. These devices might be denied connection to bus-powered hubs or might drain the hub of power for other devices. An example of such a device is a USB diskette device.
Suspending and resuming USB devices is fully supported on SPARC systems. However, do not suspend a device that is busy and never remove a device when the system is powered off under a suspend shutdown.
The USB framework makes a best effort to power manage all devices on SPARC based systems with power management enabled. Power managing a USB device means that the hub driver suspends the port to which the device is connected. Devices that support remote wake up can notify the system to wake up everything in the device's path so that the device can be used. The host system could also wake up the device if an application sends an I/O to the device.
All HID devices (keyboard, mouse, hub, and storage devices), hub devices, and storage devices are power managed by default if they support remote wake-up capability. A USB printer is power managed only between two print jobs. Devices that are managed by the generic USB driver (UGEN) are power managed only when they are closed.
When power management is running to reduce power consumption, USB leaf devices are powered down first. After all devices that are connected to a hub's ports are powered down, the hub is powered down after some delay. To achieve the most efficient power management, do not cascade many hubs.
For information about using the SUSPEND/SHUTDOWN key on SPARC systems, see USB Keyboards and Mouse Devices.
Keep the following guidelines in mind when connecting USB cables:
USB 3.0 specification does not specify a maximum cable length . However, a USB 3.0 cable is distinctly different from a USB 2.0 cable. It is estimated that shorter cables achieve better performance and three meter cables are recommended to achieve multi-gigabit transfer rates.
The maximum cable length that is supported is 5 meters.
Do not use cable extenders. For best results, use a self-powered hub to extend cable length.
For more information, go to http://www.usb.org/about/faq.