Two USB 2.0 hubs on two USB ports?

Hello, I have a proiblem that I am trying to see if this is hardware or firmware related.
As seen in the attached file, I have two boards: The CPU board (Rev 1) has the TX2, TX2 USB2 (2.0) is used to service a Wi-Fi (USB 2.) and TX2 USB1 is for the USB-C 2.0 portion of the USB-C on the power supply board. It’s been workin fine this way.
Due to the need to have more USB ports, I created the Rev 2 of the boards in slide 2 in which a USB 2.0 hub is inserted into each USB port to create the spare USB 2.0 port on each board. The hub is a 2-port bub, Microchip USB2412. Now if I use a power supply board rev 2 with the CPU board rev 2, the Wi-Fi is no longer seen, not even shows in lsusb; while mixing the CPU board Rev 2 and Power supply board Rec the Wi-Fi works fine.
Could this be an issue with the TX2 hardware, or it can be fixed with firmware?


TX2_USB.pdf (198.6 KB)

You might want to specify if this is an ordinary TX2 dev kit, or something in a Nano form factor. Also, specify if the TX2 itself is powered over USB, which is what your diagram sort of indicates (in reality, perhaps you are saying that there is data communications over USB and that the TX2 is itself self-powered…I am assuming the USB-C is for power and not data since you have labeled it as a power supply board). Assumptions which follow assume the TX2 is being powered over USB ports and is not directly powered.

I can’t say for sure, but I suspect it is related to power delivery, and thus neither firmware nor hardware is bad (just insufficient under that layout).

As background, consider that USB connectors, when supplying power to a device, have very well defined current supply abilities. A USB2 host has a defined amount of current it must be able to deliver. A USB3 host has a different amount of power it must be able to deliver (significantly more than USB2). When a device is bus-powered, the combined total power of every device consuming power must not exceed the output rating of the root HUB.

A HUB itself (if not the root HUB) will also consume power, unless it is externally powered. If that HUB is externally powered, then its defined total output power availability (in total to all ports) goes up dramatically. External power also means it no longer consumes power from the host PC it plugs into. Many power problems can be solved simply by making HUBs externally powered.

Also, despite your USB-C port being defined as able to deliver quite a bit of power, as soon as it goes to a USB2 HUB it switches mode and its rated current output drops with the standard (the HUB knows which mode it is in, and follows that standard). Because the USB-C power source now goes through a USB2 HUB, it means it has less delivery capability (which might not matter in this case).

If you are powering the Jetson via the micro-OTG connector (which is USB2), then the Jetson was never able to take the full output of the USB-C power source anyway. However, I could see the possibility that the direct use of USB-C-to-Jetson might have been better behaved near the max current limit of USB2 when compared to the USB2 HUB supplying power near its (lower) current limits.

At the Jetson side though, it has a limited source of power. That power has gone from simply supplying a Wi-Fi device to also powering (in addition to the Wi-Fi) a USB2 HUB and a “spare” USB2 socket. Combined with the possible provision of less power to the Jetson when supplying power over a USB2 HUB instead of the USB-C direct power.

One thing to consider is that if the Jetson itself can be directly powered, and not via USB, then the power supply capabilities are much improved; there is no defined power cut-off point over barrel jack connectors. If you had a power supply capable of a megawatt, but provided that power via a USB jack which follows standards, then you would not have changed the situation until you bypass that USB jack.

Also note that when Jetsons (and computers in general) are under heavier load they will have higher spikes in current requirements. What works on average can still result in a crashed or shut down system which “seems” to work until the spike exceeds power delivery abilities and it becomes unstable. Devices which are under-powered may disappear from a USB bus.

Hello Linuxdev,

Thanks for responding to my post, and I want to clarify few things:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.