Xavier - USB network configuration

When running JetPack there are two stages. The first is to flash, the second is to add software. Only the flash stage uses USB, and only the software install stage uses ethernet. During flash JetPack installs a one-time ability to detect the address of the Jetson. After that it goes away.

On the other hand, knowing if you use a router appliance, or if you told JetPack that the host would act as a router during flash will change later behavior. If you told JetPack to use a router appliance, then DNS should work after reboot if the router is still used. If you told JetPack to use the host PC as a router, then the Jetson would still require the host PC connection for assigning an address and relaying DNS. During flash which configuration did you use (host PC versus router for assigning an address)? Is anything changed in the wired ethernet since then?

There should be an interface (l4tbr0 on my device) and your host should be able to ping it after boot up.

Please note that this usb cable is the type C one that you used to flash the board.

Thanks for the responses.

During install I told Jetpack to use the host as the router (and thus connection to the internet). The jetpack installer ran and was able to transfer data between the host and Xavier and I was using the Xavier for over a week with no issues. I was pulling code from external repositories, browsing the web, etc. This is via the IP over USB network interface(l4tbr0) not the wired CAT5 Ethernet–I haven’t used the CAT5 link at all.

As an aside, the Jetpack installer for Xavier is much more streamlined and robust than the TX2 version.

Currently, I am able to ping between the Xavier and the host PC and all of the file transfer utilities that the Jetpack installer uses are working. Since restarting the Xavier, I’ve lost the capability to reach the internet (e.g., apt-get on the Xavier cannot reach the outside world, I can no longer use Chromium, etc.). My theory is that the Jetpack installer changed some network routing setting(s) and then these settings were lost when I restarted the Xavier.

In my local network environment, I cannot connect the Xavier to the corporate network–I have to route through the host PC (somehow).

Mike

Could you share the steps to reproduce this issue? Especially the setting on jetpack.

Thanks.

When I ran jetpack, I set it to use the USB network option (“Connect to Jetson device via USB cable”). The jetpack process completed smoothly.

My problem began when I restarted the Xavier (normal shutdown/restart in Linux). At that point the network bridge between the Xavier and the internet was lost. The network between the Xavier and PC was still there–no access to the internet. Which makes me think it’s a routing issue.

This is made worse by the behavior when the USB cable is unplugged. Each time that occurs the host PC picks up a new IP address. I was up to 192.168.55.120 at one point.

We actually had NVIDIA on-site yesterday and I brought this up with them. The network bridge device on the Xavier needs to be setup again. I was unable to figure out how to do this by hand. I ended up re-flashing my board and running jetpack again. The bridge setup commands are visible in the text window during the software load process–there’s a route default command and several nmcli commands. I was unable to capture those from the text window. Is that text logged anywhere?

I’ve just now restarted my Xavier for the first time (since re-flashing with Jetpack yesterday). I have two l4tbr0 devices listed in the “Network Connections” gui. One has the gateway listed at 192.168.55.100 with proper DNS server addresses, and one has the gateway and DNS server fields blank. However, ifconfig on my host PC says that the network addresses are 192.168.55.102 and 192.168.55.103. So, I’m back into the busted configuration. (I didn’t unplug the USB cable, so the IP address change occurred due to the Xavier restart.)

It looks to me that there are two factors here:

  • the host PC address isn’t stable. The l4tbr0 bridge assumes the gateway address is 192.168.55.100 and that’s not always true.
  • why do I have two l4tbr0 devices after restart? The new blank one isn’t doing any good and the other has stale IP address info.

Mike

I was able to manually configure the l4tbr0 devices with correct gateway address (192.168.55.102) and DNS server info and restore my internet access. I have two l4tbr0 devices listed in the Network Connections GUI, which is confusing. ifconfig only lists l4tbr0 once.

Mike

Let me investigate it on our side. According to your comment, the step to reproduce is choose the option “Connect to Jetson device via USB cable”.

The synopsis of the error should be losing the connection between Xavier and Internet.

Is my description correct?

Hi michael.c.proicou,

I can’t reproduce your issue with JetPack-4.1.1/Xavier.
After JetPack install completed via usb0 and check connection information, there are only l4tbr0 device in the Network connections GUI, then I plug-in ethernet cable and check network, there are two device (l4tbr0 and eth0), I also tried to ping l4tbr0 and eth0 from my host PC, the connection is workable without problem.

Please check your network and try again, or please provide the detail steps for us, we can try to figure out the issue. Thanks!

Also consider that if your network is going through the host PC, then changes to the forwarding rules or firewall rules of the host PC could also cause network failure. In a case where things stop working you might go to the host PC, find the dotted decimal address of somewhere which fails on the Xavier (e.g., if google.com, then “host google.com”), and then traceroute, e.g., if google, then from the Jetson “traceroute 172.217.11.238”.

The configuration is correct after JetPack completes. I only have a problem after restarting the Xavier board.
So, the complete steps to reproduce are:

  1. Run jetpack and install using the “Connect to Jetson device via USB cable” option.
  2. Verify access from Xavier to internet. (I have access here.)
  3. Restart the Xavier board one or more times.
  4. Check for internet access from Xavier. (I don’t have access here.)

I’ve restarted my Xavier a couple of times in the course of my work today. I have 4 l4tbr0 devices appearing in the “Network Connections” on the Xavier. My host PC hasn’t restarted but the IP address assigned to the USB link is currently 192.168.55.107/192.168.55.108. I can ping between the host PC and Xavier. The host PC sees the internet and the Xavier can’t.

Correcting the l4tbr0 configuration seems to restore the access.

What happens if on the Xavier you traceroute to NVIDIA:

traceroute 216.228.121.209

What happens if you do the same traceroute form the PC? I suspect it works from the PC, but stops at the first hop on the Xavier. This would be because the PC is not forwarding after a reboot (assuming traceroute stops at the PC). In that case there is nothing the Xavier can do…it would be mandatory to set up the host to forward.

Hi Mike,
Can you describe how you configured the l4tbr0 device manually. While I don’t have two l4tbr0 devices, I am facing the same issue of no internet being available on the AGX target. I can ssh to it from the host alright.

Thanks

I use the “Edit Connections” Gui from the drop down menu on the top-right. When it open, there is one or more l4tbr0 devices listed under the Bridge category. I configure all of the l4tbr0 devices to match.

Double click on the l4tbr0 and goto the IPV4 Settings tab. The static address is always 192.168.55.1 and the gateway is often wrong or blank. Set the gateway field to the IP address of the host PC network interface. I also have to set DNS servers in the “Additional DNS Servers” value on the same tab.

I find the host PC IP address changes every time the Xavier restarts or is disconnected from the host PC. I use ifconfig to find out the address of the day.

Hope this helps …

“I also have to set DNS servers in the “Additional DNS Servers” value on the same tab.”
Thank you for your share. But this operation is invalid for my Xavier. I have to set DNS servers by editing /etc/resolv.conf It’s quite strange.

Normally the DHCP server provides what goes into resolv.conf (indirectly). Perhaps your DHCP source does not report DNS (which would indirectly mean incomplete setup on the Xavier). Can you give details about what the DHCP server is, e.g., a cable modem directly connected to a provider? A separate router not directly connected to the provider?

I have the same question as @hucqym. There is not internet will be available on the AGX target without the wired CAT5 Ethernet, is there?

WiFi is not set up, so wired is assumed. On the other hand…and I have not tried this myself, I don’t know how well it works…JetPack4.1.1 may be able to set the option of using network over USB3 (the type-C connector). If you have the USB type-C connected to your host when you start JetPack, do you see an option to use host as router and Jetson’s USB (as mentioned I’ve only heard about doing this, I haven’t actually tried it)?

Normally wired ethernet is the only means…though it could be wired to the PC or to a router.

I tried and failed to get the internet on the AGX target working through the USB-C connection with the host laptop as the router. I had to resort to using ethernet for the initial install. Now I have wifi working as well through a sub dongle

I see many addresses in the ifconfig list. Which one exactly do I need to enter in the Gateway field? Also, can you mention what exactly goes in the method, netmask and additional DNS servers fields? Thanks!

Typically the gateway will either be an address for the modem/router (which might be the PC in this case), or a broadcast address of “0.0.0.0”. Hard to answer without knowing the output from your “route” and “ifconfig”. If you are using the virtual USB ethernet from Jetson to host PC, then the “ifconfig” and “route” on the host PC would be useful to know. Also, how is the PC connected to the internet? Is it to an ordinary router?