The hubd is a USBA (Solaris USB Architecture) compliant client driver that supports USB hubs conforming to the Universal Serial Bus Specification 2.0.* The hubd driver supports bus–powered and self–powered hubs. The driver supports hubs with individual port power, ganged power and no power switching.
When a device is attached to a hub port, the hubd driver enumerates the device by determining its type and assigning an address to it. For multi-configuration devices, hubd sets the preferred configuration (refer to cfgadm_usb(1M) to select a configuration). The hubd driver attaches a driver to the device if one is available for the default or selected configuration. When the device is disconnected from the hub port, the hubd driver offlines any driver instance attached to the device.
*Hubd for the original USBA framework supports USB 1.0 and 1.1 hubs only. Hubd for the USBA 1.0 framework supports USB 2.0 hubs as well. Please see www.sun.com/desktop/whitepapers.html for more information regarding USBA 1.0, USB dual framework, and USB 2.0.
32 bit ELF kernel module for original USBA framework*
64 bit ELF kernel module for original USBA framework*
32 bit ELF kernel module for USBA 1.0 framework*
64 bit ELF kernel module for USBA 1.0 framework*
usba10_hubd configuration file
* Please see www.sun.com/desktop/whitepapers.html for more information regarding USB dual framework implementation, USBA 1.0, and USB 2.0.
See attributes(5) for a description of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Architecture||Original USBA drivers and files: PCI-based systems|
|USBA 1.0 drivers and files: PCI-based SPARC systems|
Writing Device Drivers
Universal Serial Bus Specification 2.0
System Administration Guide: Basic Administration
In addition to being logged, the following messages may also appear on the system console. All messages are formatted in the following manner:
WARNING: <device path> (usb<instance number>): Error message...
where <instance number> is the instance number of hubd and <device path> is the physical path to the device in /devices directory. Messages from the root hub are displayed with a usb<instance number> prefix instead of hub<instance number> as the root hub is an integrated part of the host controller.
(USBA 1.0 only) The USB software does not currently support low or full speed (USB 1.x) devices connected to an external high speed hub which is, in turn, connected to a high speed (USB 2.0) port. Do one of the following to fix:
The driver failed to enumerate the device connected on port <number> of hub. If enumeration fails, disconnect and re-connect.
The driver detected an over current condition. This means that the aggregate current being drawn by the devices on the downstream port exceeds a preset value. Refer to section 22.214.171.124 and 11.13 of the Universal Serial Bus Specification 2.0. You must remove and insert this hub to render it and its down stream devices functional again. If this message continues to display for a particular hub, you may need to remove downstream devices to eliminate the problem.
This hub has been disconnected because a device other than the original one has been inserted. The driver informs you of this fact by displaying the name of the original device.
Same condition as described above; however in this case, the driver is unable to identify the original device with a name string.
A USB self-powered hub has lost external power. All USB devices connected down-stream from this hub will cease to function. Disconnect the hub, plug in the external power-supply and then plug in the hub again.
The current hub driver supports hubs that have <n> ports or less. A hub with more than <n> ports has been plugged in. Only the first <n> out of the total <number of physical ports> ports are usable.