hubd - USB hub driver
is a USBA (illumos USB Architecture) compliant client driver
that supports USB hubs conforming to the Universal Serial Bus Specification 3.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(8)
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.
32- bit x86 ELF kernel module /kernel/drv/amd64/hubd
64- bit x86 ELF kernel module /kernel/drv/sparcv9/hubd
64-bit SPARC ELF kernel module
for a description of the following attributes:
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Architecture | SPARC, x86, PCI-based systems |
SEE ALSO usba(4D)
, cfgadm_usb(8) 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. Messages are formatted in the following manner:
WARNING: <device path> <hubd<instance number>): 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. Connecting device on port <number>
The driver failed to enumerate the device connected on port <number>
of hub. If enumeration fails, disconnect and re-connect. Use of a USB 1.0 hub behind a high speed port may cause unexpected failures.
Devices connected to a USB 1.0 hub which are in turn connected to an
external USB 2.0 hub, may misbehave unexpectedly or suddenly go
offline. This is due to a documented incompatibility between USB 1.0
hubs and USB 2.0 hub Transaction Translators. Please use only USB 2.0
or USB 1.1 hubs behind high-speed ports. Connecting a high speed device to a non-high speed hub (port x) will result in a loss of performance. Please connect the device to a high speed port to get the maximum performance.
USB 2.0 devices connected to USB 1.0 or 1.1 hubs cannot run at their
highest speed, even when the hub is in turn connected to a high-speed
port. For best performance, reconnect without going through a USB 1.0
or 1.1 hub. Cannot access <device>. Please reconnect.
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. Port <n> overcurrent.
An overcurrent condition was detected. Please remove the device on
this port. Devices not identical to the previous one on this port. Please disconnect and reconnect.
Same condition as described above; however in this case, the driver
is unable to identify the original device with a name string. Hub driver supports max of <n>
ports on hub. Hence, using the first <number of physical ports>
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. Hub global over current condition, please disconnect the devices connected to the hub to clear the condition. You may need to re-connect the hub if the ports do not work.
An overcurrent condition was detected on the hub. This means that the
aggregate current being drawn by the devices on the downstream ports
exceeds a preset value. Refer to section 126.96.36.199 and 11.13 of the Universal Serial Bus Specification 2.0
. If this message continues to
display, you may need to remove downstream devices to eliminate the
problem. If any port does not work after the overcurrent condition is
cleared, re-connect the hub to re-enable the ports. Root hub over current condition, please check your system to clear the condition as soon as possible. You may need to reboot the system if the root hub does not recover automatically.
An overcurrent condition was detected on the root hub, indicating
that malfunctioning devices on the downstream ports are drawing too
much current. Please disconnect the problematic downstream devices
to eliminate the problem. If the root hub doesn't work after the
overcurrent condition is cleared, you may need to reboot the system.
The following messages may be logged into the system log. They are
formatted in the following manner:
<device path><hubd<instance number>): message... Local power has been lost, please disconnect hub.
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. Local power has been lost, the hub could draw <x> mA power from the USB bus.
A USB self/bus-powered hub has lost external power. Some USB devices
connected down-stream from this hub may cease to function. Disconnect
the external power-supply and then plug in the hub again. Two bus-powered hubs cannot be concatenated.
A bus-powered hub was connected to a bus powered hub port. Please
remove this bus-powered hub and connect it to a self-powered hub or a
root hub port. Configuration <n> for device <device> at port <m> exceeds power available for this port. Please re-insert your device into another hub port which has enough power.
The device requires more power than is available on this port. Port <n> in over current condition, please check the attached device to clear the condition. The system will try to recover the port, but if not successful, you need to re-connect the hub or reboot the system to bring the port back to work.
An overcurrent condition was detected on port <n
>. This means the
device connected to the port is drawing more current than the hub can
supply. If this message continues to display, please disconnect the
device to eliminate the problem. If the port doesn't work after the
overcurrent condition is cleared, please re-connect the hub or reboot
the system to enable the port again. Unable to attach USB 3.x hub <vendor> <device>. A maximum of 5 hubs may be cascaded.
USB 3.0 has an upper bound on the number of hubs that may be chained
together. If this limit is exceeded, a hub may not be detected or
attached. The hub will be functional if plugged into a different part
of the USB topology. To determine the depth of the hub, count the
number of devices between it and the host controller.
May 13, 2017 HUBD(4D)