Is a USB-C Hub be Supported for connecting multiple devices?

In looking at port availability on the Xavier, I quickly notice there are a few things I really need to get started.

  1. Mic via USB
  2. Speaker (via USB?)
  3. Wifi USB Module
  4. Potentially a second display via USB to HDMI

It is possible to use a single USB-C Hub that goes into one port, and I can plug in all these devices into and Xavier can recognize all of them? Or is there a better way to do this?

As long as you don’t require more bandwidth than a single HUB can handle a HUB is not a problem. Realize that there are both “root HUBs” and “HUBs”…a root HUB shares nothing, although other HUBs (which are just devices) can connect. So if the traffic is limited to 10Gb/s or 5Gb/s on that root HUB, then the total is shared among everything downstream. There is more than one root HUB on Xavier, but you’ll want to check the specs on the Xavier development kit (or third part carrier board) to know which connector is a root HUB versus just a port sharing a HUB.

There are many devices which will “just work”. There are also many drivers required for many devices which work after installing the driver, but which won’t work “out of the box”…they are supported, but only if you add the driver. The list is extensive.

USB easily recognizes every device connected regardless of whether there is a driver or not. USB simply announces the device to the hot plug layer, and if a driver thinks it can handle the device, then the driver takes ownership. Don’t think of whether USB supports the device…instead ask if the driver is present for USB to service the data pipe between driver and device.

Knowing the specific device makes a huge difference in whether the question can be answered at all. There are some “standard” device classes which have a known uniform interface…a single generic driver will handle all such devices of that class. So in that case you know that the device has a driver. An example is that keyboards use the Human Interface Device class (HID), and that unless there is something special about the keyboard, the generic HID driver works for the device. Despite generic class drivers always being present when USB is present, the driver is still separate from USB…the hot plug layer (which really is USB) announces the device, and the standard class driver takes ownership.

Sometimes knowing a chipset is enough to answer the question if there is a known driver for that chipset…generic or otherwise. Specific hardware details are needed to give specific answers.