USB3 not working on Jetson TK1

Keep in mind that if Ubuntu 16.04 thinks it needs a package update that it won’t know that it should not touch certain files (firmware). The original 14.04 from the official software does know this. It could work for a while in 16.04 and then an update would break it. The files, by themselves, are not enough.

Device tree is part of the firmware, and if something updates this, then parts of the system will start failing. This is basically an argument passed to drivers as they load, and even if the drivers and libraries are correct, then it will still fail if arguments being passed are from public 16.04 when 16.04 differs from the NVIDIA device tree. I don’t know that this happened, but beware there is a lot which can go wrong even when it looks like the original files are in place.

About this:

…the above is saying USB worked, but I don’t see a note of a driver being loaded (perhaps for a HUB this differs, just speculating). However, all we know is that the EHCI controller is found…we don’t know if (A) a driver took control, or (B) firmware routed the working device’s port to the controller. In this case firmware is device tree.

Note that in systems which have only USB2 that a single controller will support USB2 or slower devices, e.g., USB1.1 or USB1.0. In the case of USB3 a given port would work with a given USB3 controller, but if a slower device (e.g., USB2) is plugged in, then it reroutes to a different controller. Without the correct firmware this breaks. Indeed tegra-ehci does not support USB3, but tegra-xhci does. It seems likely the port is going to work with slower devices, e.g., keyboard/mouse, but may lack knowledge of how to route to the USB3 controller.

You could clone the device, and then flash again, followed by migration to 16.04 just to see if it works. Then perform an update and see if USB stops working. A clone is a good idea anyway, and you could always examine your old content for manual restore of parts of it, or flash using the clone.