Identify TX2 during flashing via SDK Manager

Hi,

I have connected the SDK Manager (on a Ubuntu 16.04.7 LTS host) via USB to a custom TX2 board.
The SDK identifies the board: in STEP 1 it provides me the selection between TX2 or TX2 NX - I selected TX2 ; I have also run lsusb on terminal and identified the board: Bus 001 Device 019: ID 0955:7c18 NVidia Corp.
when I proceed, I select the Manual Setup Jetson TX2 and OEM Configuration: Runtime I am getting the following in the SDK’s terminal:

10:44:57 ERROR: Can not find matching device in recovery mode.
10:44:57 DEBUG: running command < true >
10:44:57 INFO: command finished successfully
10:44:57 DEBUG: running command < /tmp/device_mode_host_setup.sh >
10:44:57 INFO: exec_command: /tmp/device_mode_host_setup.sh
10:44:57 INFO: Found route default enp0s20f0u10, setting up device mode
10:44:57 INFO: [host] [sudo] password for ubuntu:
10:44:57 INFO: net.ipv4.ip_forward = 1
10:44:57 INFO: Device mode on host successfully set with DNS 8.8.8.8!
10:44:57 INFO: command finished successfully
10:44:57 DEBUG: running command < true >
10:44:57 INFO: command finished successfully
10:44:57 DEBUG: Flash Jetson TX2 - flash: using adapter to install NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP@JETSON_TX2_TARGETS to /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS
10:44:57 INFO: Flash Jetson TX2 - flash: **********************
10:44:57 INFO: Flash Jetson TX2 - flash: sudo ./nvsdkmanager_flash.sh
10:44:57 INFO: Flash Jetson TX2 - flash: Defaulting to autoflash
10:44:57 INFO: Flash Jetson TX2 - flash: *** Checking ONLINE mode … OK.
10:44:57 INFO: Flash Jetson TX2 - flash: *** Checking target board connection … 1 connections found.
10:45:02 ERROR: Flash Jetson TX2 - flash: Put the target board in RCM mode and retry.
10:45:02 ERROR: Flash Jetson TX2 - flash: command terminated with error
10:45:02 SUMMARY: DateTime Target Setup - target: Depends on failed component

Any ideas, why?

Hello,

If you use flash.sh instead of sdkm, will it start to flash?

Is this your first time flashing a jetson device?

WayneWWW, hi,

This board was flashed like a year ago, and my customer wants me to upgrade the Jetpack to 4.6.2. and this is what I get.

I did not try to flash it with flash.sh.

Please test it with flash.sh first.

I have tried to flash with

sudo ./flash.sh -r -k APP jetson-tx2 mmcblk0p

and the image was flashed so I guess the board is in recovery mode and flash.sh works OK with the old sdk 4.5.1.

The 4.6.2 directory is adjacent to the 4.5.1 directory but there is no image file in the internal Linux_for_Tegra/bootloader/ directory, this means that the SDK Manager could not generate the image to be flashed, am I right?

A reminder, this is what I get in the terminal:

13:41:23 INFO: CUDA Toolkit for L4T - target: Found file /home/ubuntu/Downloads/nvidia/sdkm_downloads/cuda-repo-l4t-10-2-local_10.2.460-1_arm64.deb with correct checksum, skip downloading.

13:41:28 ERROR: **Can not find matching device in recovery mode.**

13:41:50 ERROR: **Could not detect correct NVIDIA Jetson device connected to USB. Verify that: 1. The device is connected to this host machine with a USB cable. 2. Correct target is selected in STEP 1. This can be validated by running the 'lsusb' command on your host, and look for (NVIDIA Corp).**

13:42:12 ERROR: **Can not find matching device in recovery mode.**

13:42:12 DEBUG: running command < true >

13:42:12 INFO: command finished successfully

13:42:12 DEBUG: running command < /tmp/device_mode_host_setup.sh >

13:42:12 INFO: Found route default enp0s20f0u10, setting up device mode

13:42:12 INFO: [host] [sudo] password for ubuntu:

13:42:12 INFO: net.ipv4.ip_forward = 1

13:42:12 INFO: Device mode on host successfully set with DNS 8.8.8.8!

13:42:12 INFO: command finished successfully

13:42:12 DEBUG: running command < true >

13:42:12 INFO: exec_command: true

13:42:12 INFO: command finished successfully

13:42:12 DEBUG: Flash Jetson TX2 - flash: using adapter to install NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP@JETSON_TX2_TARGETS to /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS

13:42:12 INFO: Flash Jetson TX2 - flash: current working directory is /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra

13:42:12 INFO: Flash Jetson TX2 - flash: sudo ./nvsdkmanager_flash.sh

13:42:12 INFO: Flash Jetson TX2 - flash: Defaulting to autoflash

13:42:12 INFO: Flash Jetson TX2 - flash: *** Checking ONLINE mode ... OK.

13:42:12 INFO: Flash Jetson TX2 - flash: *** Checking target board connection ... 1 connections found.

13:42:12 INFO: Flash Jetson TX2 - flash: *** Reading ECID ... FUSELEVEL=fuselevel_production hwchipid=0x18 bootauth=NS

13:42:12 INFO: Flash Jetson TX2 - flash: *** Reading EEPROM ... "/mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py" --chip 0x18 --applet "/mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin; dump eeprom baseinfo bbd.bin; reboot recovery"

13:42:12 INFO: Flash Jetson TX2 - flash: [ 0.0061 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0

13:42:12 INFO: Flash Jetson TX2 - flash: [ 0.0101 ] Assuming zero filled SBK key

13:42:12 INFO: Flash Jetson TX2 - flash: [ 0.0291 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml

13:42:12 INFO: Flash Jetson TX2 - flash: [ 0.0329 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml --skipuid

13:42:12 INFO: Flash Jetson TX2 - flash: [ 0.0337 ] RCM version 0X180001

13:42:14 INFO: Flash Jetson TX2 - flash: [ 2.0473 ] tegrarcm_v2 --isapplet

13:42:14 INFO: Flash Jetson TX2 - flash: [ 2.0753 ] Applet version 01.00.0000

13:42:14 INFO: Flash Jetson TX2 - flash: [ 2.1708 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 0 --download rcm /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0

13:42:14 INFO: Flash Jetson TX2 - flash: [ 2.1811 ] Assuming zero filled SBK key

13:42:14 INFO: Flash Jetson TX2 - flash: [ 2.2064 ] tegrarcm_v2 --chip 0x18 0 --updatesig rcm_list_signed.xml

13:42:20 INFO: Flash Jetson TX2 - flash: [ 2.2111 ] tegrarcm_v2 --chip 0x18 0 --rcm rcm_list_signed.xml

13:42:21 INFO: Flash Jetson TX2 - flash: [ 8.4428 ] tegrarcm_v2 --isapplet

13:42:21 INFO: Flash Jetson TX2 - flash: [ 8.4687 ] tegrarcm_v2 --oem platformdetails eeprom cvb /mnt/f438f6fb-2af5-490e-a73a-605fd3cc51ae/nvidia/nvidia_sdk/JetPack_4.6.2_Linux_JETSON_TX2_TARGETS/Linux_for_Tegra/bootloader/bbd.bin

13:42:21 INFO: Flash Jetson TX2 - flash: [ 8.4713 ] Applet version 01.00.0000

13:42:21 ERROR: Flash Jetson TX2 - flash: **UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 17: invalid start byte**

13:42:21 ERROR: Flash Jetson TX2 - flash: **--- Error: Reading board information failed.**

13:42:21 INFO: Flash Jetson TX2 - flash: [ NV_L4T_FLASH_TX2_WITH_OS_IMAGE_COMP Install took 9s ]

13:42:21 ERROR: Flash Jetson TX2 - flash: command terminated with error

13:42:21 SUMMARY: DateTime Target Setup - target: Depends on failed component

any suggestions?

Hi,

Please try with more TX2 devices and see if this is an issue in sdkmanager.

Also, sdkmanager is not for custom board to flash. You can also try with devkit first.

Hi,

I was able to flash with this sdkmanager in the past (a year ago) with the same unit. There is no other unit in my possesion, and I do not have a development kit.
Isn’t the terrminal I’ve provided is enough? why the image for 4.6.2 is not prepared? is there another way (a simple one if posssible)?

If the carrier board is not from a developer kit (or a custom carrier which is an exact match in lane routing compared to a dev kit carrier board), then the manufacturer would provide the flash software (which would be mostly the same as the dev kit flash software, but have some device tree change). Does the manufacturer of the carrier board provide a board support package?

I just notice this error comes out on your sdkmanager log.

13:42:21 ERROR: Flash Jetson TX2 - flash: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa4 in position 17: invalid start byte

Are you sure this log didn’t appear when you flash it with your flash.sh?
Are you sure you are using same host machine to flash in both sdkmanager and flash.sh cases?

We are the provider of the board thus I need to provide the BSP. The board is very similar to the devkit.

Yes, it is the same Dell pc running Ubuntu 16.04. This what pazzels me. At the thirst I thought that the unit did not get into recovery mode but upon your advise to run the flash.sh made it more conplicated.

It looks like related to custom board. I took the error log to search past logs and every of such case is from custom board.

https://forums.developer.nvidia.com/t/invalid-start-byte-when-flashing-tx2i-on-custom-board/210378/2

Is the UART log showing anything when this error happened?

Hi, thanks for the reply.
What coudl possibly be different between the evaluation board and the custom board? the requirement is to connect the mini-USB for programming and make the board go into recovery mode, moreover the flash.sh works.

What is the “invalid start byte”? of what ?

thanks.

Your custom board does not have eeprom, but the devkit board has it.

Since sdkmanager does not support custom board, please just use flash.sh for your case.

1 Like

Thanks, got it.

  1. Though, is it possible that previous versions of SDK manager did not require it?
  2. How should I generate an image file which is resulted from Jetpack 4.6.2?
  1. Though, is it possible that previous versions of SDK manager did not require it?

Yes, it is possible. But does not matter since this tool by default is not for custom board.

  1. How should I generate an image file which is resulted from Jetpack 4.6.2?

I am not sure why you asked this question. Feels like you don’t know how to use flash.sh.

sudo ./flash.sh -r -k APP jetson-tx2 mmcblk0p1
→ if you use “-r”, it means “re-use” the image, if there is no system.img created before, then it will fail
→ “-k APP” means you only want to flash APP partition.

Thus, if you want flash.sh to create image and fully flash the board, then just remove -r and -k APP…

1 Like

Thanks for the reply.

I just need to make sure that all the following components are included in the flashing process:

  • CUDA Toolkit for L4T - ver 10.2
  • cuDNN on Target - ver 8.2
  • TensorRT on Target - ver 8.2
  • OpenCV on Target - ver 4.1.1
  • VisionWroks on Target - ver 1.6
  • VPI on Target - ver 1.2
  • NVIDIA Container Runtime with Docker - ver 0.10.0
  • Multimedia API - ver 32.7
  • NVIDIA Nsight Systems CLI - ver 2021.5
  • DeepStream - ver 6.0.1

So are they?

Thanks.

Hi,

The flash process does not include these even in sdkmanager… The “flash” is only for the OS. You understood it wrong again.

Take desktop host for example, the “recovery mode + flash” is similar to installing a Windows to your host. It does not include “install CUDA toolkit”.

The sdkmanager is same here. The “flash” and “sdk” could be chosen separately. You still can install sdk with sdkmanager, but not flash the board.

So upon flahing the board I’ll need to download them one by one and install them manuallly on the board itself?

Err… I feel the question you are asking now is a new one.

I mean, what you are asking now has nothing to do with sdkmanger, isn’t it? You want to create a image which already included above sdk and you just need to flash it once, right?

What I want to say is, even sdkmanager cannot do it. So you are actually asking a new question here, aren’t you?