Jetson TX2 NX unfunctioning recovery mode?

Hi,

I have TX2 NX modules(two of them) that I’ve successfully flashed on the NX dev kit.

Now I’m trying to flash a different version and failing to get recovery mode working.

Connecting the USB to host system and just booting the dev kit result in functioning connection - I can see the exposed files and I have /dev/ttyACM0 working.

When trying to put the board in recovery mode(I’ve tried few methods, see below) seems to kind of work - the OS on the module doesn’t boot, and I get recognizable USB device:

$ dmesg
...
[87843.266791] usb 3-1: new high-speed USB device number 67 using xhci_hcd
[87843.427892] usb 3-1: New USB device found, idVendor=0955, idProduct=7c18, bcdDevice= 0.00
[87843.427895] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[87843.427897] usb 3-1: Product: APX
[87843.427899] usb 3-1: Manufacturer: NVIDIA Corp.

But no /dev/ttyACM0 and “Error: probing the target board failed.” message when trying to flash.

I’ve tried few methods to put the board in recovery:

First:

  1. Turn off.
  2. Put the recovery jumper in.
  3. Turn on.
  4. USB device detected, unable to flash.
  5. Remove recovery jumper.
  6. No change in USB, still unable to flash.

Second:

  1. Turn off.
  2. Put the recovery jumper in.
  3. Put reset jumper in.
  4. Turn on.
  5. Remove reset jumper.
  6. USB device detected, unable to flash.
  7. Remove recovery jumper.
  8. No change in USB, still unable to flash.

Third:

  1. Turn on.
  2. Put the recovery jumper in.
  3. Put reset jumper in.
  4. Remove reset jumper.
  5. USB device detected, unable to flash.
  6. Remove recovery jumper.
  7. No change in USB, still unable to flash.

I’ve repeated all 3 with two modules(on the same NX dev kit) to the same result.

What I’m doing wrong?

Thank in advance.

hello dors,

may I know what’s your host machine environment configuration, are you using virtual machine for ubuntuOS?
please also check Jetson Xavier NX Developer Kit User Guide, there’s auto power-on if you’re not shorten pin-5 and pin-6 on J14.

Hi JerryChang,

Thanks for the response.
I’m using Ubuntu 20.04 with somewhat modified sdkmanager docker.
It’s the same setup I’ve used for the initial flashing of the TX2 NX module.

I’ve tried now to short pins 5-6(shorting 11&12 to power up) - and I get same result.
Valid USB device, but no serial port and flashing fails.

Tip: The reset jumper is like the shift key on a keyboard. In only has to be held down at the moment you tap the “power on” or the “power reset”. Then, in recovery mode, your host PC will see the correct USB device. Use “lsusb -d '0955:'” to see every NVIDIA device.

FYI, using any kind of container or VM often fails. The reason being that very often these environments don’t pass through the Jetson…the Jetson can’t do anything about that, and is why a real Ubuntu host is the best choice (a real host passes all USB to the host, whereas containers and VMs make passing through optional).

It seems that the board is indeed in recovery mode, as I get:

$ lsusb -d '0955:'
Bus 003 Device 074: ID 0955:7c18 NVIDIA Corp. APX

I have full pass-through for /dev to the docker, and running the board in non-recovery mode I can use the serial connection over usb to login to it(using minicom -D /dev/ttyACM0).
Is there anything else I need to pass to the container to make flashing in recovery mode works?

Is there another way to flash a live system?

hello dors,

why don’t you try without container, we have verify that with native ubuntuOS and it works.

I wouldn’t know what to check for correct pass-through. Every VM and container is different, and the flash software has no way to test or correct this. If for example you had another computer running native Ubuntu 18.04 (or dual boot on the current computer), then it would be much easier answer since native installs don’t have to worry about this.

I’ve tried another computer with native ubuntu 18.04 - and indeed it work.
So first - thanks.

I don’t really get this - the container is one provided by nvidia - it doesn’t say it works only on Ubuntu 18.04 or only for initial flashing…
Is it the expected behavior?

Thanks again,

I couldn’t say about what the container is for. Sometimes containers are provided for cross compiling or for specific software. One container useful in one case is not necessarily compatible for some other purpose, and I have no knowledge of customizing containers (I only use a native environment, though obviously I should learn more about containers since they are useful in so many places). Someone else may be able to comment if they know where the container setup is from.

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