Automate Recovery Mode

Hi,
we need to automate the flashing process for our AGX Orin board without any human intervention.
Is there any other way to put the board into force recovery mode for flashing instead of using the physical buttons?
Also can we create the system.img for the board without connecting the board to the Host PC?
Thank You

No, there is no such way as far as I know.

what about the system.img is that possible?

Yes, that is possible if you provided the BOARD ID/SKU/FAB value directly in flash.sh script as parameters.

i want to flash more than 10 devices so is there any way to set them to force-recovery other than using physical button?

sudo ./flash.sh BOARDID BOARDSKU FAB jetson-agx-orin-devkit internal
is this how i should give?

Of course not… These things have their own value and were read from EEPROM on the Jetson board.

If you don’t want a board connected to your host, you need to provide them by yourself…

https://docs.nvidia.com/jetson/archives/r35.5.0/DeveloperGuide/SD/FlashingSupport.html?highlight=flash

Could you please provide a sample command that could be used?

You can read the document first. Search BOARDID.

I found the BOARDID but for the SKU and FAB ?

It is actually not a question I can answer. The board is on your side but not mine.
We don’t know what board you are using.

AGX Orin 64GB developer kit

Read this from your board EEPROM directly.

From Orin AGX 64 GB, I can only tell you the board id is p3701 and sku is 0005. We cannot tell FAB here.

ok so with the -B option i need to input my ID and other values right?

Yes, you need to tell the flash script which board you are using by giving those parameters.

1 Like

any solution for this?

No solution from software side. Recovery mode is hardware event.

Thank you

FYI, most Jetsons with a button for recovery mode also have pins: One is the actual recovery pin, the other ground. I think it is just a 3.3V logic that can be grounded. You could use the pins, which is still physical, but it would allow external logic to do this.

Works with the JAXi but unknown about Orin.

Buttons can be controlled using the press and release commands, each of which take the name of the button to control as a parameter.

The following buttons are defined:

  • power: press to power up the device, press and hold for 10 seconds to force power off
  • reset: pressing this button puts the device into reset, release to boot
  • recovery: must be pressed before the reset button is released or when the power button is pressed in order to enter recovery mode
  • force-off: forces the device off immediately

The utility supports reading, writing and erasing the EEPROM using the eeprom command. Several sub-commands are available, such as read to save the EEPROM contents into a file, specified as an argument, write to flash the contents of a file, specified as an argument, or erase to erase the EEPROM. The dump and show commands can be used to read the EEPROM and show a hexdump or a decoded version, respectively.

Some boards support querying the state of the core and the CPU power rails. This can be done using the power-rail command. An optional argument can be used to specify the name of the rail to query. If no value is specified, the status for all power rails will be shown.