Flashing failed with sdkmanager for Jetson TX2

Hi,

I would like to flash a TX2 module + dev carrier board.

From “terminal” tab of sdkmanager :

09:51:12 INFO: Flash Jetson TX2: sudo ./flash.sh jetson-tx2 mmcblk0p1
09:51:12 INFO: Flash Jetson TX2: fi
09:51:12 INFO: Flash Jetson TX2: sleep 20
09:51:12 INFO: Flash Jetson TX2: **********************
09:51:12 INFO: Flash Jetson TX2: exec_command: /tmp/tmp_NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP.sh
09:51:12 INFO: Flash Jetson TX2: sudo ./flash.sh jetson-tx2 mmcblk0p1
09:51:12 INFO: Flash Jetson TX2: ###############################################################################
09:51:12 INFO: Flash Jetson TX2: # L4T BSP Information:
09:51:12 INFO: Flash Jetson TX2: # R32 , REVISION: 4.3
09:51:12 INFO: Flash Jetson TX2: ###############################################################################
09:51:12 INFO: Flash Jetson TX2: Error: probing the target board failed.
09:51:12 INFO: Flash Jetson TX2: Make sure the target board is connected through
09:51:12 INFO: Flash Jetson TX2: USB port and is in recovery mode.
09:51:12 INFO: Flash Jetson TX2: [ Component Install Finished with Error ]
09:51:12 INFO: Flash Jetson TX2: [host] [ 8.00 KB used. Disk Avail: 66.45 GB ]
09:51:12 INFO: Flash Jetson TX2: [ NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP Install took 0s ]
09:51:12 ERROR: Flash Jetson TX2: [error]: : [exec_command]: /bin/bash -c /tmp/tmp_NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP.sh; [error]:
09:51:12 ERROR: Flash Jetson TX2: command terminated with error

The board is in recovery mode, and connected to the host via a micro USB-B.
The lsusb command on the host shows the Nvidia device.

I tried :

  • sdkmanager 1.3.1-7110 and select “manual flashing”.
  • 3 different USB ports
  • 3 different cables

Do you have any ideas?

Best regards

Is the host PC Ubuntu 18.04? Is there any VM involved? Are you using the supplied micro-B USB cable?

Note that VMs have problems when they fail to correctly pass through USB. During flash the USB will disconnect and reconnect multiple times, and this is where a VM tends to fail to reacquire USB.

Many third party “charger” cables have very poor data capabilities, and probably 3 out of 4 such charger cables will fail during long data transfers.

Thank you for the reply.

Is the host PC Ubuntu 18.04? Yes
Is there any VM involved? No. sdkmanager is launch from host.
Are you using the supplied micro-B USB cable? Yes and no… I use the micro-B USB cable supplied by D3 with D3 board based on Jetson.

I tried to flash D3 board and Nvidia dev kit without success.

This could be important. I wouldn’t think it would cause a flash to just fail in the middle, but you have to use their software for actual boot to succeed. Mostly this is the same as the supplied software from NVIDIA, but includes device tree changes to deal with the different carrier board layout. Possibly if you flash with just the generic NVIDIA software something would fail to start, but that’s just a guess at one possibility. Are you using the software supplied with the D3 during the flash?

The first steps to flash D3 board are the same for Nvidia’s dev kit.
I have the same problem for both two boards.

I was able to flash 2 months ago. sdkmanager applied some updates. I needed to apply the following to go forward:

I uninstalled/reinstalled sdkmanager. I got the same problems on both boards. After thoses tries, I posted this subject on the forum.

Sorry you’re having trouble! Which board, specifically?

I haven’t seen that particular failure before. D3 boards should flash fine with sdkmanager.

I don’t see in the thread whether you’ve tried a different USB cable. Have you?

Please post the lsusb output when the board is in recovery mode.

Thanks!

Hi,

There are few things that can help clarify this issue

  1. Do you have only 1 jetson TX2 module and carrier board to try? From previous comment, I can only tell you have x1 devkit and x1 D3 board.
    If you have more than one module, you can try to flash them too. If multiple devices cannot be flashed on same host, then it is possible host side issue.

  2. Are you able to flash with other hosts?

  3. You said this board was able to be flashed 2 month ago. If so, the release during that time should be <=rel-32.4.3, have you tried old jetpack release?

Hi,

Thank for your reply.
I tried 4 cables :

  • the one from D3
  • the one from nvidia dev kit
  • 2 random from my desk
  1. Do you have only 1 jetson TX2 module and carrier board to try? From previous comment, I can only tell you have x1 devkit and x1 D3 board.

2 carrier (1 D3, 1 Nvidia dev kit). Both carriers have their own modules.

If you have more than one module, you can try to flash them too. If multiple devices cannot be flashed on same host, then it is possible host side issue.

I agree !

  1. Are you able to flash with other hosts?

Yes. My co-worker did it.

  1. You said this board was able to be flashed 2 month ago. If so, the release during that time should be <=rel-32.4.3, have you tried old jetpack release?

I tried 32.4.3 and then 32.4.2. With ou without deepstream. With Jetpack 4.4.1 or 4.4.0.
I failed to go with an earlier version than this 32.4.2. sdkmanager reported incompatibility issues when trying this.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 413c:3010 Dell Computer Corp. Optical Wheel Mouse
Bus 001 Device 003: ID 8087:0a2a Intel Corp.
Bus 001 Device 002: ID 04f2:b59e Chicony Electronics Co., Ltd
Bus 001 Device 026: ID 0955:7c18 NVidia Corp. <======= TX2
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Hi,

Sorry that I cannot get much info from your reply.

2 carrier (1 D3, 1 Nvidia dev kit). Both carriers have their own modules.

So both modules cannot be flashed on your current host, right?

Yes. My co-worker did it.

Are you able to ask your co-worker to use his host to flash the board again?

I tried 32.4.3 and then 32.4.2. With ou without deepstream. With Jetpack 4.4.1 or 4.4.0.
I failed to go with an earlier version than this 32.4.2. sdkmanager reported incompatibility issues when trying this.

What kind of “incompatibiliy” issue is that? TX2 has been released for 3 years. Even old jetpack re-28 should be able to flash it.

Hi,

Both carriers and modules cannot be flashed on my current host.

I tried and failed with sdkmanager 1.3, then I removed/purge nvidia’s packages (libvision* nvidia-* cuda-*), then I installed sdkmanager 1.2. sdkmanager reported incompatibility issues about host’s packages. After trying hours to solve it, I decided to quit trying to downgrade sdkmanager.

sdkmanager keep re-installing “host components”. It takes a long time. Surprisingly, the status is “installed” after each try. Maybe it’s not related to my flashing issues but it’s very annoying.

Are you able to ask your co-worker to use his host to flash the board again?

Yes and he did successfully again.

Logs of my last try:

10:50:42 INFO: Flash Jetson TX2: current working directory is /media/gigabyte2ndHDD/nvidia/nvidia_sdk/JetPack_4.4_Linux_JETSON_TX2/Linux_for_Tegra 10:50:42 INFO: Flash Jetson TX2: exec_command [host]: 10:50:42 INFO: Flash Jetson TX2: ********************** 10:50:42 INFO: Flash Jetson TX2: #!/bin/bash 10:50:42 INFO: Flash Jetson TX2: set -e 10:50:42 INFO: Flash Jetson TX2: set -e 10:50:42 INFO: Flash Jetson TX2: if [ -e ./bootloader/system.img ]; then 10:50:42 INFO: Flash Jetson TX2: echo sudo ./flash.sh --no-systemimg jetson-tx2 mmcblk0p1 10:50:42 INFO: Flash Jetson TX2: sudo ./flash.sh --no-systemimg jetson-tx2 mmcblk0p1 10:50:42 INFO: Flash Jetson TX2: else 10:50:42 INFO: Flash Jetson TX2: echo sudo ./flash.sh jetson-tx2 mmcblk0p1 10:50:42 INFO: Flash Jetson TX2: sudo ./flash.sh jetson-tx2 mmcblk0p1 10:50:42 INFO: Flash Jetson TX2: fi 10:50:42 INFO: Flash Jetson TX2: sleep 20 10:50:42 INFO: Flash Jetson TX2: ********************** 10:50:42 INFO: Flash Jetson TX2: exec_command: /tmp/tmp_NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP.sh 10:50:42 INFO: Flash Jetson TX2: sudo ./flash.sh jetson-tx2 mmcblk0p1 10:50:42 INFO: Flash Jetson TX2: ############################################################################### 10:50:42 INFO: Flash Jetson TX2: # L4T BSP Information: 10:50:43 INFO: Flash Jetson TX2: # R32 , REVISION: 4.3 10:50:43 INFO: Flash Jetson TX2: ############################################################################### 10:50:48 INFO: Flash Jetson TX2: Error: probing the target board failed. 10:50:48 INFO: Flash Jetson TX2: Make sure the target board is connected through 10:50:48 INFO: Flash Jetson TX2: USB port and is in recovery mode. 10:50:48 INFO: Flash Jetson TX2: [ Component Install Finished with Error ] 10:50:48 INFO: Flash Jetson TX2: [host] [ 13.45 MB released. Disk Avail: 64.21 GB ] 10:50:48 INFO: Flash Jetson TX2: [ NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP Install took 5s ] 10:50:48 ERROR: Flash Jetson TX2: [error]: : [exec_command]: /bin/bash -c /tmp/tmp_NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP.sh; [error]: 10:50:48 ERROR: Flash Jetson TX2: command terminated with error 10:50:48 SUMMARY: Flash Jetson TX2: Failed to execute commands with GenericInstaller

Hi,

I am not sure why you have to remove the sdkmanager for older release. Sdkmanager can help you pick the old release version.

image

Also, since your co-worker can still flash your board, it is more like a problem on your host.
Is there any log coming out from serial console port when you run flash command? Please note that serial console port is from UART port of tegra. Not from host.

Hi,

I downgraded sdkmanager to make sure it was not a problem related to sdkmanager itself.

I posted the logs I have from sdkmanager. If I can get more useful logs, I would appreciate to have hints about it.

https://elinux.org/Jetson/General_debug

Please read this page to understand what is uart log.

And sdkmanager is just a shell. It is not the real script that flashes your board. That is why downgrade or upgrade sdkmanager itself does not help.

I tried sdkmanager using a docker container we shared with coworkers.
It fails on my laptop. It works on coworker’s laptop.

I will get an UART cable in the next few days to get more logs.

Containers and VMs will possibly (probably) loose the UART as USB repeatedly disconnects and reconnects during a flash. Depends on settings (something I cannot help with). However, the screenshot above is not an actual flash log. If you want to create a log file you can attach to this thread, then a TX2 could be flashed as follows with the TX2 in recovery mode:

cd ~/nvidia/nvidia_sdk/JetPack...version.../Linux_for_Tegra
sudo ./flash.sh jetson-tx2 mmcblk0p1 2>&1 | tee log_flash.txt

…then attach log_flash.txt in your thread. The SDKM also has an “export logs” you can run, but this includes a lot of logs other than just flash, e.g., downloading and host PC setup. What you really need is the flash log.

You could also log the serial console of the Jetson during the flash. Programs like minicom and gtkterm are able to log sessions. This includes being able to log what is seen during a flash. Serial console is Jetson side, flash.sh logs are host side. However, you’d watch both from host since the serial console program runs on the host.

Hi,

The problem was autosuspend of my USB.
My USB peripherals was working fine: mouse, disks etc. Only flashing was not possible.

To solve this issue:
echo "-1" > /sys/module/usbcore/parameters/autosuspend

Some people got the same problem in 2015:

1 Like