we’re using econsystem’s USB 3.1 see3cam_24cug with the AGX Orin and have noticed that when we boot up the agx, the camera sometimes appears in a port under the USB2.0 bus, and our app doesn’t get enough bandwidth. We check this via lsusb -t. The only way we have found to fix this is to physically unplug the camera and plug it back in, though even this is not entirely reliable, though it eventually enumerates as superspeed. What we ideally need is a way to accomplish this in software, i.e. enforce that the camera is enumerated under the USB3.1 superspeed bus. We’ve tried some methods, including unbind/bind, USBDEVFS_RESET, usbreset, etc. but these seem to have no effect. Has anyone experienced an issue like this before or know of a way to ensure desired enumeration?
Hi,
For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
Thanks!
Hi,
If you use custom carrier board, please do compliance test to confirm the signal quality is good.
I am not sure I fully understand the advice here, but I think it is important to clarify that if we wait for the jetson to boot up and then plug in both USB cameras after, both are opened as usb3.1 and both function as expected with appropriate bandwidth for a usb3.1 device. This problem only arises when we power on the jetson with the cameras plugged in already. Sometimes, one of the cameras is enumerated as usb2.0 and the bandwidth is limited. We are not totally sure why this occurs, and the only solution seems to have been to unplug and replug the camera. It doesn’t seem to be an issue with the cameras and we have observed the desired behavior before, it’s just that this problem occurs on power on sometimes.