I have just moved into a new postion where I need to work with USB hubs. We have a portable device (I.e battery, limited power) with USB On The Go and need to drive a USB thumb drive. The thumb drive takes more current than we have but a powered USB hub should work. (Note the word should, I don't know the facts.) I need to understand all the communications that goes on between host and hub and device. Part of it is that the device says how much current it needs and the host must evaluate that and decide if the host can provide the current. But a powered hub throws more options into the game. I don't know what they are. The documents I find are not detailed in this area.

This is probably too much information for a specific answer in a forum. I am hoping for some pointers as to where I can find the information.

Thanks for your time,
bkelly

Dani AI

Generated

asked the right question and the short answers from and are correct: USB controllers and firmware implement most of the low‑level negotiation, and the official specs are the authority. The practical picture needed for battery‑powered OTG hosts using a powered hub is a mix of (1) role and VBUS handling from OTG, (2) hub class/port power semantics, and (3) device power declarations in the device descriptor.

Key facts to keep in mind: OTG role is set by the ID pin (A = host, supplies VBUS) while a hub enumerates as a USB device and reports its port capabilities to the host. Devices advertise bMaxPower in the device descriptor (units = 2 mA). Hosts initially limit unconfigured devices to the 100 mA default; higher draw (USB 2.0: up to 500 mA, USB 3.x: up to 900 mA) is permitted only after enumeration/configuration or when a downstream port is explicitly powered by a self‑powered hub. Some powered hubs switch port power only after the host requests it; others power ports immediately — this difference changes whether the thumb drive can draw its needed current before or after enumeration. References: USB On‑The‑Go (OTG), USB hub basics, .

Practical checklist and tests that have helped in the field: use a self‑powered hub with per‑port power and an OTG adapter to force the device into A‑host mode; verify enumeration with lsusb -v and dmesg to inspect the hub descriptor and the child device bMaxPower; measure real current with a USB power meter; try the thumb drive directly on OTG host first to confirm host‑side support. Mobile platforms often have specific limitations — see platform docs such as Android’s USB host guide for details (Android USB host).

Cautions: do not tie VBUS sources together; avoid using "charging‑only" DCP ports for data; and test on the exact hardware and firmware revision that will be used, since controller behavior and kernel/driver support determine whether a powered hub solves the problem in practice.

Recommended Answers

All 3 Replies

That's all handled by the USB controller in hardware and its firmware.
Contact Intel if you want to know more, they're a major manufacturing of the required chips.

You can find the USB specifications here.

There is also this book. USB Complete. it isn't a perfect book but easier than reading the approximately 1000 pages that make us the USB specification.

good

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.