I try to automate a burn fuses / flash / test setup in production, which requires several reboots - some of which into recovery. We use a OTG usb cable, wich reboots automatically into forced recovery. Also I mounted some network relay in front of the jetson, so I can power cycle programitically. Now the question is: how to skip forced recovery without manually switching the USB cable.
Is there a way to
power-cycle into forced recovery (automatically due to OTG cable)
use e.g. tegrarcm --reboot coldboot to reboot into normal operation
→ “skip” the forced recovery or “continue” into normal boot?
I tried:
sudo ./tegrarcm --instance 2-2.4 --chip 0x21 0 --reboot coldboot
sudo ./tegrarcm --instance /dev/bus/002/… --chip 0x21 0 --reboot coldboot (what lsusb reports)
→ both commands just hang forever (no error, cannot abort via SIGINT or SIGSTOP, terminal blocked)
Yes, I tested the script successfully – obviously, one needs to preload some parts of the [device-tree / bct / ??] for it to work.
I still do not understand why “tegrarcm --reboot coldboot” does not do the trick – but again, maybe the recovery-bootloader on the jetson needs some additional info to successfully trigger a reboot…
The OTG cable sets the force recovery pin on our custom-carrier board:
Did I miss some documentation on how the flash process is working? I see the coldboot is working after normal flash succeeds. What piece of info is missing in the jetson recovery-bootloader for coldbooting to work?
I suppose one of:
– applet
– bct
– bl
– bct
??
Thank you, but I know this part of the documentation. My question is: is there anything describing the details on how the recovery-bootloader and the tegrarcm tool are working? Esp. “Flashing and Booting the Target Device” does not help a lot with tegraflash options, other than echoing the option names. It does not describe how the different parts are working together.
Current questions:
what is missing in factory-reset / recovery boot environment to perform coldboot ?
e.g. maybe the coldboot procedure is defined in bct and the recovery boot does not load the bct from the system, but I need to “download” it to the jetson first
what does the uid, reported by tegrarcm, describe ?
is there a way to identify an idividual jetson in recovery mode and in operational mode (can I read the eeprom before flashing?) → I need to trace the jetson serial number through the process.