How many devices can be plugged into a USB hub, and how is power distributed amongst them? [closed]

Solution 1:

The Wikipedia article will tell you everything you need to know, but the basics are that you can have a total of up to 127 devices, this includes the hubs themselves when daisy chained. Each device has available a specified amount from the port it is plugged into, not a division based on how much is plugged in. Each port will provide no less than 4.75 volts and no more than 5.25 volts and up to 500 mA to the connected device. A hub can supply no more than 500 mA in total load. If a device needs more than 500 mA, it needs to draw external power. If the hub is supplying power to multiple devices, the draw is divided amongst them as they require it (all devices start out as low-power (100 mA), but may change mode to high-power after and pull current as needed if available). If the hub is powered from another USB port and does not have external power, it will supply no more than 100 mA to any port at any given time.

USB as a battery charging specification works differently. If you plug your phone into your computer it will charge differently than when plugged into a wall or your car. When connected to a computer, you are bound by those limits above as it is treated as a connected device, but to a wall or your car it can pull up to 1.8 A (though 1.5 is pretty standard for dedicated charging ports).

EDIT: Updated post after reading specifications a bit more in depth.

Solution 2:

It is technically possible to daisy chain 127 devices on a single USB connection in a PC. However, as you suggest, power draw will become an issue. Unless these devices can get power elsewhere, the USB port will not provide sufficient power to the devices. As far as it being evenly distributed, I don't believe it is. I think each device gets a proportion of the power available according to its needs. But if you have too many devices or if they require more power than is available, then they will not work properly. The OS usually can recognize this and will not attempt to use the device if it is underpowered.