Jetpack 4.2: Can not install SDK components

This is my setup:

Mojave running VMWare Fusnion latest with an Ubuntu 18.04 LTS latest guest. The guest is hooked up to the Xavier via USB type-C.

I can flash the Xavier without issue. I get to the 50% mark where I think have to switch over to the Xavier and finish the configuration wizard. I do that and it boots up and I login. No issue.

Now it wants to install the SDK components over the IP-over-USB network. Please note that from the Linux guest I can ssh into the xavier at 192.168.55.1 with no issue. I’m even able to setup key based authentication.

But every time I try to install the SDK components on the Xavier I get:

[b]Could not connect to the target device. Verify that

  1. The device is connected to this host machine with a USB cable.
  2. Ubuntu System configuration wizard is completed on the device.
  3. Jetson’s Ubuntu OS is up and running.
    [/b]

Here is the error log in sdkm.log:
[b]
2019-05-20 16:55:58.031 - info: exec_command: sleep 10
2019-05-20 16:56:08.043 - info: [ Component Install Finished Successfully ]
2019-05-20 16:56:08.043 - info: [ 8.03 GB used. Disk Avail: 63.44 GB ]
2019-05-20 16:56:08.043 - info: [ NV_L4T_FLASH_XAVIER_WITH_OS_IMAGE_COMP Install took 7m45s ]
2019-05-20 16:56:08.043 - info: cmd finished success SDKM_END_CODE_SUCCESS_71f0a96c-2682-4145-ae47-fafc1ffc794e
2019-05-20 16:56:08.043 - info: command finished successfully
2019-05-20 16:56:08.044 - info: install ‘Flash Jetson AGX Xavier’ success
2019-05-20 16:56:19.749 - info: cmd finished failure SDKM_END_CODE_FAILURE_63cc33c5-8438-4d04-8863-2dcb22fead70
2019-05-20 16:56:19.749 - error: command terminated with error
2019-05-20 16:56:19.852 - info: cmd finished failure SDKM_END_CODE_FAILURE_7d3a171c-b562-4219-b9bc-e5f4090ad2ee
2019-05-20 16:56:19.852 - error: command terminated with error
2019-05-20 16:56:19.852 - error: Could not connect to the target device. Verify that:

  1. The device is connected to this host machine with a USB cable.
  2. Ubuntu ‘System configuration wizard’ is completed on the device.
  3. Jetson’s Ubuntu OS is up and running.[/b]

I don’t understand what I’m doing wrong? How can I tell what command is failing and why? Again, I have connectivity to 192.168.55.1 via ssh without issue.

Hi alex.sack,

VMs usually fail and are not supported. A VM can be made to work, but typically the Jetson will disconnect and reconnect during the flash and the VM will lose the port to the host.

Thanks

Right, but I can flash and all of that works. Only the SDK component install fails - yet I have USB network connectivity through 192.168.55.1, i.e. I don’t think this is a VM issue at all.

Where can I find out WHAT command is failing based on my output above?

Also, is there any way to install the SDK components post flash? i.e. I have the option to skip but I don’t know how to try to reinstall the SDK components again.

Update: Well, I guess you’re right. I finally caved in and tried it with a 18.04 machine and it seems to be working. Really strange.

Can you please answer though if there is a way to install the SDK components post install over Ethernet? (apt-get and friends)

The current SDK Manager only works over the USB virtual ethernet. Manual install can be painful, but if interested see this:
[url]https://devtalk.nvidia.com/default/topic/1050477/jetson-tx2/jetpack4-2-flashing-issues-and-how-to-resolve/post/5340560/#5340560[/url]

Same issue installing SDK components on Jetson TX2. After ubuntu is installed through SDK manager, I complete the setup wizard on TX2, and am able to login. At that point, the TX2 is no longer in usb recovery mode. I can enter recovery mode, the screen turns blank but I can see Nvidia Corp when I use lsusb.

The issue I’m having is that I get the error “Cannot connect to the device via SSH.” I’m not using Virtual Machine, I’m using dedicated linux PC with Ubuntu 18.04.

Steps I’ve tried 

Connect a Ethernet cable and get IP of TX2.
SSH from host, but SSH failed.
I tried logging into the TX2 and reconfiguring SSH.
Now I can SSH into TX2 but still seeing the same error from SDKManager.

I’ve checked Host IP with ‘ip add’ and find enp2s0 with IP 192.168.55.100 and checked TX2 IP and seeing 192.168.55.1

Been at this a few hours. Watched tutorial videos and it just works. Is there a way to install components with SDK manager? Seems like a lot of people are having issues with the USB bridge connection with Jetpack 4.2.

Normally (in newer releases) the fully booted Jetson will provide a virtual wired ethernet over the type-C USB. The Jetson virtual USB has IP address 192.168.55.1, while the host end will get address 192.168.55.100. It would be quite common for the host to not use that IP address unless you ok activating it in the network GUI. If you monitor “dmesg --follow” on the host PC prior to inserting the USB connector, then as you insert you will see the MAC address of the virtual adapter. Within the host PC’s network setup tool allow the interface with that MAC address to be used.

Verify that you see this in the output of the “route” command as an available route.

If this fails, then here is a URL on editing to use your other wired ethernet:
[url]https://devtalk.nvidia.com/default/topic/1056542/jetson-tx2/my-tx2-is-turned-on-there-is-no-original-unbuntu-system-/post/5357711/#5357711[/url]

So the USB bridge connection on host was getting the wrong IP address ‘10.0.0.1’ for some reason on ‘enp2s0’. I manually changed that to ‘192.168.55.100’.

I verified the route
192.168.55.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s0

Verified the USB recovery mode with dmesg
[ 2201.641923] usb 1-7: Manufacturer: NVIDIA Corp.

SDKManager gets a little further this time, but now I get a new error. ‘Cannot connect to the device via SSH.’

I checked that SSH is working on the TX2, and I can access my account over through the wifi using TX2 ip address, ‘ssh nvidia@192.168.86.31’. When I try to ssh using the enp2s0 connection, i.e. ‘ssh nvidia@192.168.55.0’ I get that

ssh: connect to host 192.168.55.0 port 22: Network is unreachable

Does that mean something is not configured correctly on the TX2? Is there a way to change the ssh address in SDKManager?

In recovery mode there is no networking. The Xavier is purely a custom USB device understood only by the driver package (which runs on the host PC for flashing). Once flash completes, then the Xavier reboots and this is when the virtual ethernet device on 192.168.55.1 exists. There is also a DHCP server on this ethernet device, and when the host PC sees the device, the host PC should accept its own address to be 192.168.55.100 since this s what the Xavier DHCP server is telling the host DHCP client.

However, this does not mean the host allows the virtual ethernet device to be used. You may need to give it permission, but you won’t give permission during flash
you’ll only give permission after the Jetson is fully booted. At that point ping should work from the host to Xavier, e.g., on the host, “ping 192.168.55.1” should respond. However, until an actual user account is created, ssh won’t work since ssh requires an account to talk to. This is when the first boot script with an actual keyboard/mouse on the Xavier is required.

In some cases, if the host PC does not automatically allow use of the virtual ethernet, then you must enter the network admin GUI of the host PC to say it is ok to use the ethernet of that MAC address. Only in a rare case where your host PC already has a device on either 192.168.55.1 or 192.168.55.100 would there be any issue.

For WiFi it is more complicated since WiFi automatic setup is impractical. There is too much involved. In theory you could use WiFi if you’ve set it up correctly (WiFi is not known to be consistently robust for multi-gigabyte downloads).

Note that when “network is unreachable” it means the combination of network route and network devices do not exist to reach the destination. There wasn’t even a chance to see if the account existed.

By far the easiest thing to do is, if you go into the GUI of the host Ubuntu PC, check the icon in the upper right for network setup and make sure that when you plug in the fully booted Xavier USB that you see this MAC address in “dmesg --follow”, and that the MAC address has been ok’d to operate in the network GUI setup of the host.

Barring that, yes, you can edit files to use an alternate IP address. See this URL:
[url]https://devtalk.nvidia.com/default/topic/1056542/jetson-tx2/my-tx2-is-turned-on-there-is-no-original-unbuntu-system-/post/5357711/#5357711[/url]

Hi ! I a m new to this world and have very basic questions (usually).
So here it is :
when flashing using the nvidia sdk manager, my host device does not show a completed ubuntu system configuration wizard on the device. I cannot see nvidia’s ID after doing $lsusb on the host device. can someone help me complete the system configuration on the device. I have searched on the internet

If your host is a VM, then this would cause similar failures. Normally though lsusb should show the Xavier if the Xavier is in recovery mode and the correct USB-C cable is connected. This is for flash, not package addition.

For package addition the Xavier would have to have completed flash and any kind of post install account setup. Then the USB-C could be used with its 192.168.55.1 address with ssh to the account which was set up. If that works, then this would also imply extra package addition will succeed since package install also uses ssh to that account. Knowing ssh works manually is key to knowing package install can also work.

Do note that there are some menus which are not always obvious and you do not need to flash every time you go to add packages. I suggest separating flash and account setup from extra package install. Then, during extra package install, simply add CUDA first, and add other packages also as a separate step after CUDA.

On your host PC you should see “192.168.55.100” somewhere under the output of “ifconfig”. This shows the USB-C is providing a virtual wired ethernet. If your PC is a VM, then this too would take extra steps to pass through.

Hi Linuxdev,

I have similar problem and the sdk component installation through USB-C fails due to ethernet connectivity issue through USB-C. Based on your solution,
1- I need to activate the IP address through netwrok GUI. How can I do that? I am not familiar with this process?
2- Or allow the interface with that MAC address to be used. How can I do this?

Would appreciate if you can provide more detailed instructions about this.

Thanks
Nasim

On the host side I usually watch “dmesg --follow”, and then plug in the USB. Assuming this has the virtual ethernet device you should see a MAC address. Interface names change, but MAC addresses are persistent. I then use (on the host PC) the “nm-connection-editor” program (if you don’t have this, then “sudo apt-get install network-manager-gnome”). You’d look for the device with that MAC address, and tell it to accept for automatic DHCP configuration.

If the MAC does not show up, then more debugging would be required.

I had the same problem. The issue is that once your system is flashed you need to set up your OS on the Jetson. Connect a Display, mouse and keyboard, set up the OS setting and then you will be able to install the rest of the SDK

1 Like

I had to

  1. connect AGX via usb
  2. runs sdk manager to flash
  3. connect screen and keyboard to create an user on the AGX
  4. connect AGX via ethernet, read IP
  5. continue in the sdk manger with installing the SDK