Trouble Putting Jetson in Recovery Mode for Flashing

We are trying to flash a Jetson AGX Xavier to reset and install a fresh copy of Linux and Jetpack. For both flashing using the SDK and manual flashing using “./flash.sh,” we need to put the Jetson into recovery mode. We have tried putting the Jetson into recovery mode and received indication that it is in recovery mode, but the flashing software does not seem to recognize it.

Ways we tried to put it into recovery mode:

  1. From powered off state, press the middle recovery button and then the power button.
  2. Power on the Jetson (there are some errors relating to network and firewall when starting up) and then use the sudo reboot forced-recovery command in the Jetson terminal.

When we run the “lsusb” command, we see the following

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 021: ID 0955:7019 NVIDIA Corp. APX```

which suggests that the Jetson is in recovery mode according to https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/IN/QuickStart.html#to-determine-whether-the-developer-kit-is-in-force-recovery-mode

If we flash using the "./flash.sh" command we get this error:
```###############################################################################
# L4T BSP Information:
# R35 , REVISION: 1.0
###############################################################################
Error: probing the target board failed.
       Make sure the target board is connected through 
       USB port and is in recovery mode.

When we use the SDK we get an error saying the device is in a bad state and we need to put it in recovery mode, which we already tried to do. The terminal output of the SDK is
15:41:28 DEBUG: Flash Jetson AGX Xavier - flash: using adapter to install NV_L4T_FLASH_XAVIER_WITH_OS_IMAGE_COMP@JETSON_AGX_XAVIER_TARGETS to /home/echen4628/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_XAVIER_TARGETS 15:41:28 INFO: Flash Jetson AGX Xavier - flash: current working directory is /home/echen4628/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra 15:41:28 INFO: Flash Jetson AGX Xavier - flash: sudo ./nvsdkmanager_flash.sh --nv-auto-config --username muddsub 15:41:28 INFO: Flash Jetson AGX Xavier - flash: [OEMPreconfig] SDKM_INSTALL_ERROR Password for L4T new user muddsub: 15:41:28 INFO: Flash Jetson AGX Xavier - flash: *** Checking ONLINE mode ... OK. 15:41:28 INFO: Flash Jetson AGX Xavier - flash: *** Checking target board connection ... 1 connections found. 15:41:34 ERROR: Flash Jetson AGX Xavier - flash: Put the target board in RCM mode and retry. 15:41:34 ERROR: Flash Jetson AGX Xavier - flash: command terminated with error 15:41:34 SUMMARY: DateTime Target Setup - target: Depends on failed component

We tried every combination of the above, but there seems to be some discrepancy between putting the Jetson into recovery mode and getting the flashing to recognize that the Jetson is ready to be flashed.

Does anyone know what the issue here might be? Are there other ways of flashing our Jetpack AGX Xavier? The end goal is to factory reset everything and install Jetpack 5 for Ubuntu 20.04. Anything relating to that would be greatly appreciated!

If this is your first time flashing a board and it tells you not in recovery mode, mostly like below cases

  1. Please check if you use the correct type C port. Only one type C port can flash jetson.

  2. Please check if you are using a VM, sdkm does not work well with vm

  3. Try other type C cable

  4. Try other host machine.

The “APX” makes me think it is a VM. Is this a native host PC or a VM? If VM, then that is why it fails.

Thank you for the quick replies! I haven’t resolved the issue yet, but I want to give an update on the situation.

Using @WayneWWW’s list,

  1. I am using the port near the power button which I believe is the correct port.

  2. I am using a dual booted ubuntu 20.04 laptop (the other OS is Windows 11), so I don’t think this is a VM related issue.

  3. I tried another type C cable. It is still not recognizing that the Jetson Xavier is already in recovery mode. (I saw that for the Xavier NX there are some ports that can put the device in forced recovery mode. Is there something like that for AGX so that I can verify the device is in recovery mode besides lsusb).

  4. I have located another 20.04 ubuntu host machine, and I will be trying that next.

Also, I realized there is another script to flash the Jetson, and it gives a slightly more informative output. But I think the problem is still related to recovery mode.

sudo ./nvsdkmanager_flash.sh 
Defaulting to autoflash
*** Checking ONLINE mode ... OK.
*** Checking target board connection ... 1 connections found.
*** Reading ECID ... *** Error: ECID read failed.
Put the target board in RCM mode and retry.

I will give another update once I try out another host. Thank you.

Is there any other jetson device on your side that can be flashed by this host?

@WayneWWW I think I can find a Jetson nano (the one for the duckiebots). I am not sure if I can flash that with a 20.04 host though.

no, it cannot. Jetson nano only supports up to 18.04 host.

This worked for me! Thanks for the help.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.