Jetson AGX Xavier cannot use the USB Device Mode

Hi,
I am using Jetson AGX Xavier. I tried to connect my device to the developer machine through IP address 192.168.55.1, same as the process in GitHub - Azure-Samples/NVIDIA-Deepstream-Azure-IoT-Edge-on-a-NVIDIA-Jetson-Nano: This is a sample showing how to do real-time video analytics with NVIDIA DeepStream connected to Azure via Azure IoT Edge. It uses a NVIDIA Jetson Nano device that can process up to 8 real-time video streams concurrently.
But, I could not go to that IP address using my own PC. I searched the Nvidia Developer but I could not find anything for AGX Xavier (there is DLI for Jetson Nano). Can someone solve the problem for me?

If you monitor “dmesg --follow”, then what do you see as you connect the provided micro-B USB cable from a fully booted Jetson to host PC? It isn’t unusual for a host PC to see this address, but have security settings prevent enabling the address. Also, after the Jetson is connected via micro-B USB, what do you see from “ifconfig”?

ifconfig:

eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.26.1.43 netmask 255.255.0.0 broadcast 10.26.255.255
inet6 fe80::bc8e:2311:d404:24c3 prefixlen 64 scopeid 0x20
ether 04:d4:c4:dd:be:e9 txqueuelen 1000 (Ethernet)
RX packets 18202 bytes 4154464 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14433 bytes 1808418 (1.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s20f0u4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether fa:bb:35:5e:19:a1 txqueuelen 1000 (Ethernet)
RX packets 335 bytes 48943 (48.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 905 bytes 193183 (193.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s20f0u4i5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.55.100 netmask 255.255.255.0 broadcast 192.168.55.255
inet6 fe80::6adf:2949:f0a3:aa43 prefixlen 64 scopeid 0x20
ether f6:5e:1f:04:c3:b6 txqueuelen 1000 (Ethernet)
RX packets 2106 bytes 404479 (404.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 998 bytes 244045 (244.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 7242 bytes 739560 (739.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7242 bytes 739560 (739.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.27.131.33 netmask 255.255.0.0 broadcast 10.27.255.255
inet6 fe80::de3c:84c8:dc55:6dd prefixlen 64 scopeid 0x20
ether 24:ee:9a:e0:70:d6 txqueuelen 1000 (Ethernet)
RX packets 65815 bytes 12738876 (12.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4462 bytes 336567 (336.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

This tells us USB works, and that the virtual wired USB router is present. DHCP succeeded, and at the host end the IP address is 192.168.55.100. The other end of the connection will be 192.168.55.1. We will probably still need to know the host side output from the “route” command, but basically these will probably work:

  • From Jetson, “ping 192.168.55.100”.
  • From host PC, “ping 192.168.55.1”.

If those pings work, then there is no need to know “route” output (though I suppose that output could help anyway depending on other issues).

Note that security will sometimes interfere, and that setup from the Jetson end will by default not be a problem. If security is in the way, then most likely it is from the host PC side. If you are starting an ssh session while at the Jetson, then you need to ssh to address 192.168.55.100, not 192.168.55.1; conversely, if you start ssh from the host and want to connect to Jetson, then you need to ssh to address 192.168.55.1. Host to .100 is the host talking to itself. Jetson talking to .1 is the Jetson talking to itself. Ping will work to both, but the account you log in to is particular to each end point.

Thank you for your reply. Ping is working on both sides. It would be appreciated if you help me how to fix the issue with usb mode. How to remove the security in PC side?

What is your account’s name on the Xavier? I will assume you have used the name “nvidia”. If you are on the host we know you have a route since ping 192.168.55.1 works. Can you also, from the host, run “ssh nvidia@192.168.55.1”?

If you use the name “anvaripour” on the host PC, and from the Xavier can “ping 192.168.55.100”, we know you have a route in that direction. Test ssh from the host PC with ssh anvaripour@192.168.55.100. Does this work? If it fails, what does it say?

It is quite common for people to ssh from host to Jetson, but not nearly as common for people to ssh from Jetson to host PC. If you want to set up to allow ssh originating from Xavier to end point PC, then this can be done, but I want to verify what works or does not work first. The actual ssh failure message in each case offers clues of where to start.