Jetson AGX Xavier issue with nv-l4t-usb-device-mode to detect USB (UDC devices)

Hi,

We are using Jetson AGX Xavier L4T 32.4.3 based custom BSP on our Custom Carrier board and one of our customers is trying to use a UDC device(USB Device Controller).

Jetson Xavier fails to start the “nv-l4t-usb-device-mode” service. It fails to find UDC devices. As a result, it is missing the USB gadget API that is present on the Jetson AGX Xavier Development Kit.

Specifically, they are in need of the RNDIS feature for Ethernet, a virtual COM port, and SSH/SFTP capabilities from a Windows client.

They have a hard requirement for a virtual COM port in addition to the mentioned features provided by RNDIS. The main issue is that the nv-l4t-usb-device-mode service fails to start. I looked into the service’s failure mode with systemctl and it failed because it cannot find a UDC (USB Device Controller), which is strange because there is clearly a USB controller on the carrier.


When I try to see the status of this service on stock BSP as well as in our custom BSP, I see below log: Is this expected if no device connected and system is normal boot condition? Can you suggest me what needs to be done to make the UDC be detected in system?

nvidia@nvidia-desktop:~$ systemctl status nv-l4t-usb-device-mode.service
● nv-l4t-usb-device-mode.service - Configure USB flashing port for device mode
Loaded: loaded (/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2018-01-28 22:06:47 IST; 3 years 5 months ago
Process: 20285 ExecStopPost=/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode-stop.sh (code=exited, status=0/SUCCESS)
Process: 18060 ExecStart=/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode-start.sh (code=exited, status=1/FAILURE)
Main PID: 18060 (code=exited, status=1/FAILURE)

Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t/functions/mass_storage.0/’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t/functions/acm.GS0/’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t/functions/rndis.usb0/’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t/configs/c.1/’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t/strings/0x409’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: rmdir: failed to remove ‘l4t’: No such file or directory
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: l4tbr0: ERROR while getting interface flags: No such device
Jan 28 22:06:46 nvidia-desktop nv-l4t-usb-device-mode-stop.sh[20285]: bridge l4tbr0 doesn’t exist; can’t delete it
Jan 28 22:06:47 nvidia-desktop systemd[1]: nv-l4t-usb-device-mode.service: Failed with result ‘exit-code’.
Jan 28 22:06:47 nvidia-desktop systemd[1]: Failed to start Configure USB flashing port for device mode.

Can you firstly use the Xavier devkit to validate the usb device mode? I know you have another topic related to this issue too.

USB device mode requires the device (Jeston), host (x64 pc) and the usb cable all work fine to get it run.

Please use pure devkit and sdkmanager release and see if your host can see the usb device. If the devkit can work, then we can know that your host and cable are fine and vice versa.

Also, this function is not validated with Windows host.

Hi,

Yes I just opened new thread here since other thread was old. in this case on AGX Xavier user have not installed any SDK stuffs.

What I tried just to confirm is flashing Stock BSP on my emmc Module, and I got the same result. I will try on devkit and ask user as well to try.

But one difference I have seen is compared to Xavier NX (Issue installing CUDA -SDK manager cannot connect to the Jetson NX and host USB not working - #15 by WayneWWW) is I see Active: failed when I check service status even with stock BSP

I don’t think this part is different between NX or AGX. You should try with devkit first.

If even devkit fails, try more ubuntu hosts and more usb cables.

1 Like