AXG Orin enters recovery mode whenever the USB type C is connected

Hello and regards,

the AGX Orin enters recovery mode whenever the USB type C is connected (near 40 pin header) and powered on WITHOUT holding the recovery button (dev kit 64G).
Is this a hardware issue or is it possible to disable this somehow?
I want to develop and keep flashing the device but I don’t think it was meant to keep disconnecting and connecting the cable each time.

Interestingly, the problem is only when a shutdown and power on happens, it does not happen when the system is rebooted.

Edit1: the host machine is linux ubuntu 6.8.0-124-generic, the jetson was same through different jetpack version (r36.5 and latest)

Edit2: I know that it is in recovery mode since the jetson does not boot up to login screen and the lsusb in host shows the nvidia device

You could attach a serial console log of the boot in the failed boot case. One has to find a specific point in boot (or power on) when that device mode occurs to see what is failing or working.

Also, if your serial console UART sees activity during certain boot stage times (such as if some device other than a UART is connected to the connector with serial console and it results in a stray “input”), then boot would halt thinking it is a keyboard (video might not show up to a monitor, but it would show text on a serial console). So a serial console listening would answer even more about stage of failure.

What I think is going on though is that the system is fully booted and the video is failing, which is far far more common that booting into recovery mode (easily mistaken since recovery mode does not display video). Once again, serial console is quite useful because it is very high reliability and does not require video to function; one can see logs or even interact since most of Linux can be crashed and burning while serial console still functions.

Also, if you are set up for ssh, and if networking is up, then you could also connect via ssh, but this has requirements that more of the system be functioning. If ssh does even attempt to connect such that it times out or briefly connects, then it means this is not recovery mode.

Dear linuxdev, thanks for the reply.

I forgot to add in the edits that the uart does not print anything when in recovery mode. the last message before shutting down was

[ 358.781143] reboot: Power down

as expected but nothing comes up after connecting the usb C and powering on.

I can also get out of recovery mode by disconnecting the cable and pushing the reset button.

One point to add that may help is that some point during some tests, I needed to enter the recovery mode via linux terminal (from jetson I believe). It may be relevant it may not but this problem is strange and I am sure now this was not intentional based on your comment.

— 🤖 This is an automated AI response. I’m here to help, but please verify important details! —

Based on the provided context, it appears that the Jetson AGX Orin is entering recovery mode automatically when the USB Type-C cable is connected and powered on, without the need to hold the recovery button. This behavior is not explicitly mentioned in the provided context as a normal or expected behavior.

However, it is mentioned in the context that the USB Type-C port next to the 40-pin header can act as a UFP (Up-stream Facing Port) and is used for flashing the device. It is also mentioned that the device can be put into recovery mode by holding the recovery button and powering on the device.

Given this information, it is possible that the device is being put into recovery mode due to a hardware issue or a configuration problem. To troubleshoot this issue, you may want to try the following:

  1. Check the USB Type-C cable and port for any damage or issues.
  2. Try using a different USB Type-C cable or port to see if the issue persists.
  3. Check the device’s configuration and settings to see if there are any options to disable the automatic recovery mode.
  4. Try flashing the device with a different JetPack version to see if the issue is specific to a particular version.

If none of these steps resolve the issue, it may be worth contacting NVIDIA support for further assistance.

In terms of disabling the automatic recovery mode, there is no clear information in the provided context on how to do this. However, it is mentioned that the device can be put into recovery mode by holding the recovery button and powering on the device, which suggests that there may be a way to disable this behavior through the device’s configuration or settings.

It is also worth noting that the issue only occurs when the device is powered on after a shutdown, and not when the device is rebooted. This suggests that the issue may be related to the device’s boot process or configuration.

Overall, while the provided context does not provide a clear solution to this issue, it does suggest that the device’s behavior is not normal and may be due to a hardware or configuration problem. Further troubleshooting and investigation may be necessary to resolve the issue.

— We support team will also look into your issue to have further suggestions soon. please stay tuned. —

Hi,

Please make sure the device has actually entered recovery mode.

A log like the one below does not mean that the device is in recovery mode.

Bus 003 Device 071: ID 0955:7045 NVIDIA Corp. Tegra On-Platform Operator

Thanks

Thanks for the note DavidDDD, but the jetson is in recovery mode.

The log I get matches the one in the link you provided.

lsusb
Bus 001 Device 023: ID 0955:7023 NVIDIA Corp. APX

Thanks

HI,

Please reflash with the sdk manager and confirm whether the issue exists.

Thanks

I have reflashed with SDKManager with different JETPACK versions (7.2 and 6.2.2 (R36.5 , R39.2))
but the results remain the same.

I have flashed EMMC and NVMe with SDKManager on seperate tests to see if the results would presist (initial tests were all done on NVMe).

Is there a way to read the state of recovery mode if linux is up on jetson? like a gpio read or a memory read?

Any time the USB connector is in device mode you will see output from lsusb from the computer which detects that as a device. Being in recovery mode is just one case of being in device mode. Recovery mode implies that not only is the USB connector in device mode, but that a particular device (a custom USB device) is present as the emulated device. When fully booted it is also normal (just for this Jetson) to emulate a disk drive (a mass storage device). The USB connector itself is in device mode either way, but the emulated device behind it changes. It would be nice to have other tests because just having “lsusb” output is insufficient to identify recovery mode.

Even if flash did not result in the desired result, the fact that you were able to flash without flash software saying the device was not in recovery mode implies that at this point the Jetson was truly in recovery mode. That is intended, because you put it in recovery mode to flash.

I guess it is too late to test a ping, so we cannot tell how far the previous install was working, but there is one more test: The serial console should have output during a flash. Is it possible for you to:

  1. Put the Jetson in recovery mode.
  2. Start serial console with logging.
  3. Flash again, and save the serial console log.

If there was no serial console output during a flash, then something unusual is going on. If the log did save some sort of message, then it might be about whether flash succeeded or failed for a particular reason. JetPack/SDK Manager can also save a log, and you could export the log of that specific flash session.

Note that if something is wrong with video graphics then flash might have still succeeded. If boot stages did not get to a point of being set up to log, then serial console might be blank during boot, but if there is no output during a flash then something is really wrong.