From Wikipedia, the free encyclopedia - View original article
A USB hub is a device that expands a single USB port into several so that there are more ports available to connect devices to a host system.
USB hubs are often built into equipment such as computers, keyboards, monitors, or printers. When such a device has many USB ports they all usually stem from one or two internal USB hubs rather than each port having independent USB circuitry.
Physically separate USB hubs come in a wide variety of form factors: from external boxes (looking similar to an Ethernet or network hub) connectible with a long cable, to small designs that can be directly plugged into a USB port (see the "compact design" picture). In the middle case, there are "short cable" hubs which typically use an integral 6-inch cable to slightly distance a small hub away from physical port congestion and of course increase the number of available ports.
Laptop computers may be equipped with many USB ports, but an external USB hub can consolidate several everyday devices (like a mouse and a printer) into a single hub to enable one-step attachment and removal of all the devices.
Also available are so-called "sharing hubs", which effectively are the reverse of a USB hub, allowing several PCs to access (usually) a single peripheral. They can either be manual, effectively a simple switch-box, or automatic, incorporating a mechanism that recognises which PC wishes to use the peripheral and switches accordingly. They cannot grant both PCs access at once. Some models, however, have the ability to control multiple peripherals separately (e.g., two PCs and four peripherals, assigning access separately). Only the simpler switches tend to be automatic, and this feature generally places them at a higher price point too. Modern KVM switches can also often share USB devices between several computers.
A USB network is built from USB hubs connected downstream to USB ports, which themselves may stem from USB hubs. USB hubs can extend a USB network to a maximum of 127 ports. The USB specification requires that bus-powered hubs may not be connected in series to other bus-powered hubs.
USB ports are often closely spaced. Consequently, plugging a device into one port may physically block an adjacent port, particularly when the plug is not part of a cable but is integral to a device such as a USB flash drive. A horizontal array of horizontal sockets may be easy to fabricate, but may cause only two out of four ports to be usable (depending on plug width).
Port arrays in which the port orientation is perpendicular to the array orientation generally have fewer blockage problems. External "Octopus" or "Squid" hubs (with each socket at the end of a very short cable maybe 2 inches long), or "star" hubs (with each port facing in a different direction, as pictured) avoid this problem completely.
USB cables are limited to 3 m for low-speed USB 1.1 device. A hub can be used as an active USB repeater to extend cable length for up to 5 m lengths at a time. Active cables (specialized connector-embedded one-port hubs) perform the same function, but since they are strictly bus-powered, externally powered (non-bus-powered) USB hubs would likely be required for some of the segments.
A bus-powered hub is a hub that draws all its power from the host computer's USB interface. It does not need a separate power connection. However, many devices require more power than this method can provide, and will not work in this type of hub.
A USB's electric current is allocated in units of 100 mA up to a maximum total of 500 mA per port. Therefore a compliant bus powered hub can have no more than four downstream ports and cannot offer more than four 100 mA units of current in total to downstream devices (since the hub needs one unit for itself). If a device requires more units of current than the port it is plugged into can supply, the operating system usually reports this to the user.
In contrast a self-powered hub is one that takes its power from an external power supply unit and can therefore provide full power (up to 500 mA) to every port. Many hubs can operate as either bus powered or self powered hubs.
However, there are many non-compliant hubs on the market which announce themselves to the host as self-powered despite really being bus-powered. Equally there are plenty of non-compliant devices that use more than 100 mA without announcing this fact (or indeed sometimes without identifying themselves as USB devices at all). These hubs and devices do allow more flexibility in the use of power (in particular many devices use far less than 100 mA and many USB ports can supply more than 500 mA before going into overload shut-off), but they are likely to make power problems harder to diagnose.
Some self-powered hubs do not supply enough power to drive a 500 mA load on every port. For example, many seven port hubs have a 1A power supply, when in fact seven ports could draw a maximum of 7 x 0.5 = 3.5A, plus power for the hub itself. Designers assume the user will most likely connect many low power devices and only one or two requiring a full 500 mA. On the other hand, the packaging for some self-powered hubs states explicitly how many of the ports can drive a 500 mA full load at once. For example the packaging on a seven-port hub might claim to support a maximum of four full-load devices.
Dynamic-powered hubs are hubs, which can work as bus-powered as well as self-powered hubs. They can automatically switch between modes depending on whether a separate power supply is available or not. While switching from bus-powered to self-powered operation does not necessarily require immediate renegotiations with the host, switching from self-powered to bus-powered operation may cause USB connections to be reset if connected devices previously requested more power than still available in bus-powered mode.
To allow high-speed (USB 2.0) devices to operate in their fastest mode all hubs between the devices and the computer must be high speed. High-speed devices should fall back to full-speed (USB 1.1) when plugged into a full-speed hub (or connected to an older full-speed computer port). While high-speed hubs can communicate at all device speeds, low and full-speed traffic is combined and segregated from high-speed traffic through a transaction translator. Each transaction translator segregates lower speed traffic into its own pool, essentially creating a virtual full-speed bus. Some designs use a single transaction translator, while other designs have multiple translators. Having multiple translators is a significant benefit when one connects multiple high-bandwidth full-speed devices.
It is an important consideration that in common language (and often product marketing) USB 2.0 is used as synonymous with high-speed. However, because the USB 2.0 specification, which introduced high-speed, incorporates the USB 1.1 specification such that a USB 2.0 device is not required to operate at high speed, any compliant full-speed or low-speed device may still be labelled as a USB 2.0 device. Thus, not all USB 2.0 hubs operate at high-speed.
Each hub has exactly one upstream port and a number of downstream ports. The upstream port connects the hub (directly or through other hubs) to the host. Other hubs or devices can be attached to the downstream ports. During normal transmission, hubs are essentially transparent: data received from its upstream port is broadcast to all devices attached to its downstream ports; data received from a downstream port is generally forwarded to the upstream port only. This way, what is sent by the host is received by all hubs and devices, and what sent by a device is received by the host but not by the other devices (an exception is resume signaling).
Hubs are not transparent when dealing with changes in the status of downstream ports, such as insertion or removal of devices. In particular, if a downstream port of a hub changes status, this change is dealt in an interaction between the host and this hub; the hubs between them act as transparent in this case.
To this aim, each hub has a single interrupt endpoint "1 IN" (endpoint address 1, hub-to-host direction) used to signal changes in the status of the downstream ports. When someone plugs in a device, the hub detects voltage on either D+ or D- and signals the insertion to the host via this interrupt endpoint. When the host polls this interrupt endpoint, it learns that the new device is present. It then instructs the hub (via the default control pipe) to reset the port where the new device was plugged in. This reset makes the new device assume address 0, and the host can then interact with it directly; this interaction will result in the host assigning a new (non-zero) address to the device.
Any USB hub that supports a higher standard than USB 1.1 (12 Mbit/s) will translate between the lower standard and the higher standard using what is called a transaction translator (TT). For example, if a USB 1.1 device is connected to a port on a USB 2.0 hub, then the TT would automatically recognize and translate the USB 1.1 signals to USB 2.0 on the uplink. However, the default design is that all lower-standard devices share the same transaction translator and thus create a bottleneck, a configuration known as the single transaction translator. Consequently, multi transaction translators (Multi-TT) were created, which provide more transaction translators such that bottlenecks are avoided.
Most USB hubs use one or more integrated controller ICs, of which several designs are available from various manufacturers. Most support a four-port hub system, but hubs using 16-port hub controllers are also available in the industry. USB hubs could be cascaded up to seven levels deep, however maximum number of user devices is reduced by number of hubs. With 50 hubs attached, the maximum number is 127 − 50 = 77. Additional features on some hub controllers include control of port LEDs (sometimes automatic, sometimes under control of the host PC) and PS/2 to USB conversion for mice and keyboards.