Cannot Flash Jetson Xavier after Changing Device Tree

Hello i changed something on the device tree like here Modifying Jetson TX2 Device Tree without having to flash TX2 but on the jetson xavier, now i cannot start nor re-flash the jetson xavier, does anyone know why this happens ? The command was just “sudo ./flash.sh -r jetson-xavier mmcblk0p1” for flashing now i am getting this kind of error “Error: None of the bootloaders are running on device. Check the UART log.
Failed flashing t186ref.” There is also the problem because of bad usb connection because the connection stops,- Is there any way to flash only the bootloader or copy an raw image via the usb connection because i saved some raw images, without using the flash.sh, just copy raw files. Or there any possibles other possibles to get the bootloader working. The full log file is here: log.txt (50.3 KB)

Kind regards

hello markus.gruber4,

please refer to Flash Script Usage session.
you’re using -r options to skip building system.img, which reuse the existing one; you may using -k <partition_id> to specify partition names for partition updates.
please refer to flash.xml or flash.cfg for the detail partition names.

please check you’d already put your Xavier platform into force-recovery mode since there’re several error related to USB communication failed,
please also check Quick Start Guide, To determine whether the developer kit is in Force Recovery mode.
thanks

I am still getting the same error, it’s not possible to flash the jetson xavier without setting it to receovery mode, i tried this command “sudo ./flash.sh -k bootloader-dtb jetson-xavier mmcblk0p1” now i am getting the same error, which means that after some time the jetson xavier is disconnecting the connection, i am also using the original cable. Kind regards.

[ 4.6734 ] […] 100%
[ 5.5514 ]
[ 5.5556 ] tegrarcm_v2 --boot recovery
[ 5.5592 ] Applet version 01.00.0000
[ 5.5658 ]
[ 6.5725 ] tegrarcm_v2 --isapplet
[ 6.5767 ] USB communication failed.Check if device is in recovery
[ 6.5771 ]
[ 6.5813 ] tegrarcm_v2 --ismb2
[ 6.5886 ] USB communication failed.Check if device is in recovery
[ 6.5892 ]
[ 6.5935 ] tegradevflash_v2 --iscpubl
[ 6.5977 ] Cannot Open USB
[ 6.5983 ]
[ 7.6044 ] tegrarcm_v2 --isapplet
[ 7.6084 ] USB communication failed.Check if device is in recovery
[ 7.6090 ]
[ 7.6129 ] tegrarcm_v2 --ismb2
[ 7.6169 ] USB communication failed.Check if device is in recovery
[ 7.6175 ]
[ 7.6219 ] tegradevflash_v2 --iscpubl
[ 7.6259 ] Cannot Open USB
[ 7.6265 ]
[ 8.6323 ] tegrarcm_v2 --isapplet
[ 8.6361 ] USB communication failed.Check if device is in recovery
[ 8.6367 ]
[ 8.6406 ] tegrarcm_v2 --ismb2
[ 8.6441 ] USB communication failed.Check if device is in recovery
[ 8.6447 ]
[ 8.6487 ] tegradevflash_v2 --iscpubl
[ 8.6523 ] Cannot Open USB
[ 8.6528 ]
[ 9.6596 ] tegrarcm_v2 --isapplet
[ 9.6638 ] USB communication failed.Check if device is in recovery
[ 9.6644 ]
[ 9.6685 ] tegrarcm_v2 --ismb2
[ 9.6724 ] USB communication failed.Check if device is in recovery
[ 9.6730 ]
[ 9.6774 ] tegradevflash_v2 --iscpubl
[ 9.6808 ] Cannot Open USB
[ 9.6813 ]
[ 10.6880 ] tegrarcm_v2 --isapplet
[ 10.6916 ] USB communication failed.Check if device is in recovery
[ 10.6922 ]
[ 10.6957 ] tegrarcm_v2 --ismb2
[ 10.6995 ] USB communication failed.Check if device is in recovery
[ 10.7002 ]
[ 10.7041 ] tegradevflash_v2 --iscpubl
[ 10.7081 ] Cannot Open USB
[ 10.7086 ]
[ 11.7156 ] tegrarcm_v2 --isapplet
[ 11.7193 ] USB communication failed.Check if device is in recovery
[ 11.7200 ]
[ 11.7237 ] tegrarcm_v2 --ismb2
[ 11.7274 ] USB communication failed.Check if device is in recovery
[ 11.7275 ]
[ 11.7312 ] tegradevflash_v2 --iscpubl
[ 11.7348 ] Cannot Open USB
[ 11.7349 ]
[ 12.7412 ] tegrarcm_v2 --isapplet
[ 12.7424 ] USB communication failed.Check if device is in recovery
[ 12.7425 ]
[ 12.7433 ] tegrarcm_v2 --ismb2
[ 12.7442 ] USB communication failed.Check if device is in recovery
[ 12.7443 ]
[ 12.7450 ] tegradevflash_v2 --iscpubl
[ 12.7456 ] Cannot Open USB
[ 12.7457 ]
[ 13.7484 ] tegrarcm_v2 --isapplet
[ 13.7491 ] USB communication failed.Check if device is in recovery
[ 13.7493 ]
[ 13.7500 ] tegrarcm_v2 --ismb2
[ 13.7506 ] USB communication failed.Check if device is in recovery
[ 13.7507 ]
[ 13.7518 ] tegradevflash_v2 --iscpubl
[ 13.7524 ] Cannot Open USB
[ 13.7525 ]
[ 14.7553 ] tegrarcm_v2 --isapplet
[ 14.7561 ] USB communication failed.Check if device is in recovery
[ 14.7562 ]
[ 14.7570 ] tegrarcm_v2 --ismb2
[ 14.7576 ] USB communication failed.Check if device is in recovery
[ 14.7577 ]
[ 14.7584 ] tegradevflash_v2 --iscpubl
[ 14.7591 ] Cannot Open USB
[ 14.7591 ]
[ 15.7657 ] tegrarcm_v2 --isapplet
[ 15.7695 ] USB communication failed.Check if device is in recovery
[ 15.7701 ]
[ 15.7748 ] tegrarcm_v2 --ismb2
[ 15.7789 ] USB communication failed.Check if device is in recovery
[ 15.7794 ]
[ 15.7834 ] tegradevflash_v2 --iscpubl
[ 15.7861 ] Cannot Open USB
[ 15.7863 ]

hello markus.gruber4,

are you able to put Xavier platform enter forced-recovery mode?
please check lsusb on your host machine before flashing.
thanks

Yes!!!

Is is possible to check the hardware anyway ? Can also the usb connection be a problem, because the flash scripts after some time the script stops but also the usb connection is down. Kind regrads.

hello markus.gruber4,

that’s a must to put device into forced-recovery mode for image flashing; it’s also need stable USB connections till flash complete.
may I know what’s the hardware connections you used, for example, did you using a laptop with virtual machine?
thanks

In our house there are different Jetson Xaviers,
i was able to flash one Jetson Xavier but not in this case, i used the same connection, cable and so on, i also put the Jetson Xavier into Recovery Mode, but at this one i was not able to flash the jetson xavier.

So are there any hardware respective software diagnostics for the Jetson Xavier.

Kind regards.

hello markus.gruber4,

let’s back to your original question, and would like to have confirmation.
may I know are you using the same Xavier platform. it cannot flashing by only changed something with device tree?

could you please also confirm below,

  1. besides using dd commands to overwrite dtb partition, please tried to enable flash scripts for device tree update.
    for example, $ sudo ./flash.sh -r -k kernel-dtb jetson-xavier mmcblk0p1
  2. are you able to fix the failures by flash the device completely.
    i.e. $ sudo ./flash.sh -r jetson-xavier mmcblk0p1
  1. If i am using “sudo ./flash.sh -r -k kernel-dtb jetson-xavier mmcblk0p1” i am getting this kind of error: ###############################################################################

L4T BSP Information:

R32 , REVISION: 3.1

###############################################################################

Target Board Information:

Name: jetson-xavier, Board Family: t186ref, SoC: Tegra 194,

OpMode: production, Boot Authentication: NS,

###############################################################################
copying soft_fuses(/home/mgruber/Desktop/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-soft-fuses-l4t.cfg)… done.
./tegraflash.py --chip 0x19 --applet “/home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod.bin” --skipuid --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg --bins “mb2_applet nvtboot_applet_t194.bin” --cmd “dump eeprom boardinfo cvm.bin;reboot recovery”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[ 0.0032 ] Generating RCM messages
[ 0.0047 ] tegrahost_v2 --chip 0x19 0 --magicid MB1B --appendsigheader /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod.bin zerosbk
[ 0.0054 ] Header already present for /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod.bin
[ 0.0089 ]
[ 0.0100 ] tegrasign_v2 --key None --getmode mode.txt
[ 0.0108 ] Assuming zero filled SBK key
[ 0.0118 ]
[ 0.0126 ] tegrasign_v2 --key None --file /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin --offset 2960 --length 1136 --pubkeyhash pub_key.key
[ 0.0133 ] Assuming zero filled SBK key
[ 0.0140 ]
[ 0.0147 ] tegrahost_v2 --chip 0x19 0 --updatesigheader /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.hash zerosbk
[ 0.0184 ]
[ 0.0196 ] tegrabct_v2 --chip 0x19 0 --sfuse tegra194-mb1-soft-fuses-l4t.cfg.pdf sfuse.bin
[ 0.0212 ]
[ 0.0220 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x19 0 --sfuses sfuse.bin --download rcm /home/mgruber/Desktop/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin 0 0
[ 0.0227 ] RCM 0 is saved as rcm_0.rcm
[ 0.0257 ] RCM 1 is saved as rcm_1.rcm
[ 0.0258 ] RCM 2 is saved as rcm_2.rcm
[ 0.0260 ] List of rcm files are saved in rcm_list.xml
[ 0.0260 ]
[ 0.0260 ] Signing RCM messages
[ 0.0267 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key --getmontgomeryvalues montgomery.bin
[ 0.0274 ] Assuming zero filled SBK key
[ 0.0279 ]
[ 0.0280 ] Copying signature to RCM mesages
[ 0.0287 ] tegrarcm_v2 --chip 0x19 0 --updatesig rcm_list_signed.xml
[ 0.0299 ]
[ 0.0299 ] Boot Rom communication
[ 0.0307 ] tegrarcm_v2 --chip 0x19 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0314 ] RCM version 0X190001
[ 0.0322 ] Boot Rom communication completed
[ 1.0487 ]
[ 2.0528 ] tegrarcm_v2 --isapplet
[ 2.0554 ] Applet version 01.00.0000
[ 2.0579 ]
[ 2.0609 ] tegrarcm_v2 --ismb2
[ 2.0658 ]
[ 2.0685 ] tegrahost_v2 --chip 0x19 --align nvtboot_applet_t194.bin
[ 2.0712 ]
[ 2.0739 ] tegrahost_v2 --chip 0x19 0 --magicid PLDT --appendsigheader nvtboot_applet_t194.bin zerosbk
[ 2.0764 ] adding BCH for nvtboot_applet_t194.bin
[ 2.0921 ]
[ 2.0960 ] tegrasign_v2 --key None --list nvtboot_applet_t194_sigheader.bin_list.xml --pubkeyhash pub_key.key
[ 2.0985 ] Assuming zero filled SBK key
[ 2.0996 ]
[ 2.1064 ] tegrahost_v2 --chip 0x19 0 --updatesigheader nvtboot_applet_t194_sigheader.bin.encrypt nvtboot_applet_t194_sigheader.bin.hash zerosbk
[ 2.1149 ]
[ 2.1177 ] tegrarcm_v2 --download mb2 nvtboot_applet_t194_sigheader.bin.encrypt
[ 2.1189 ] Applet version 01.00.0000
[ 2.1208 ] Sending mb2
[ 2.1208 ] […] 100%
[ 2.1344 ]
[ 2.1351 ] tegrarcm_v2 --boot recovery
[ 2.1356 ] Applet version 01.00.0000
[ 2.1415 ]
[ 3.1437 ] tegrarcm_v2 --isapplet
[ 3.1469 ]
[ 3.1478 ] tegrarcm_v2 --ismb2
[ 3.1487 ] MB2 Applet version 01.00.0000
[ 3.1510 ]
[ 3.1520 ] tegrarcm_v2 --ismb2
[ 3.1529 ] MB2 Applet version 01.00.0000
[ 3.1552 ]
[ 3.1564 ] Retrieving EEPROM data
[ 3.1565 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/mgruber/Desktop/Linux_for_Tegra/bootloader/cvm.bin
[ 3.1576 ] MB2 Applet version 01.00.0000
[ 3.1622 ] Saved platform info in /home/mgruber/Desktop/Linux_for_Tegra/bootloader/cvm.bin
[ 3.1973 ]
[ 3.1975 ] Rebooting to recovery mode
[ 3.2002 ] tegrarcm_v2 --ismb2
[ 3.2027 ] MB2 Applet version 01.00.0000
[ 3.2055 ]
[ 3.2055 ] Rebooting to recovery mode
[ 3.2081 ] tegrarcm_v2 --reboot recovery
[ 3.2106 ] MB2 Applet version 01.00.0000
[ 3.2207 ]
Parsing board information failed.

So at the first try i am gettting the error “Parsing board information failed.” So it mainly means that the EEPROM is changed, but if am using the hint “SKIP_EEPROM_CHECK=”-n”;" i am now getting the error:

log-device-tree2.txt (48.7 KB)

but this still the connection is disconnected,

.7014 ] Applet version 01.00.0000
641 [ 4.7035 ] Sending blob
642 [ 4.7036 ] [… ] 017%^M[ 4.7036 ] [… ] 035%^M[ 4.7036 ] [… ] 052%^M[ 4.7036 ] [… ] 070%^M[ 4.7036 ] [… ] 087%^M[ 4.7036 ] […] 100%^M
643 [ 5.5341 ]
644 [ 5.5349 ] tegrarcm_v2 --boot recovery
645 [ 5.5354 ] Applet version 01.00.0000
646 [ 5.5418 ]
647 [ 6.5461 ] tegrarcm_v2 --isapplet
648 [ 6.5489 ] USB communication failed.Check if device is in recovery
649 [ 6.5495 ]
650 [ 6.5526 ] tegrarcm_v2 --ismb2
651 [ 6.5553 ] USB communication failed.Check if device is in recovery
652 [ 6.5559 ]
653 [ 6.5653 ] tegradevflash_v2 --iscpubl
654 [ 6.5680 ] Cannot Open USB
655 [ 6.5730 ]
656 [ 7.5774 ] tegrarcm_v2 --isapplet
657 [ 7.5802 ] USB communication failed.Check if device is in recovery
658 [ 7.5806 ]
659 [ 7.5811 ] tegrarcm_v2 --ismb2

So the connection is disconnected after some time.

  1. If i am doing this command for fully flashing the device i am getting the same kind of error :

log-device-tree3.txt (48.1 KB)

I am getting this kind of error:
Error: None of the bootloaders are running on device. Check the UART log.

There is still the hint of:
0 [ 34.7157 ] tegrarcm_v2 --isapplet
881 [ 34.7185 ] USB communication failed.Check if device is in recovery

So the jetson xavier is disconnecting after some time but the script is able to start the flashing.

Kind regards.

hello markus.gruber4,

did you update or you’re using customize board configuration file?

please refer to p2972-0000.conf.common, there’s an internal function process_board_version() to check board information before flashing.
for example,
here’s board info of my AGX Xavier, Board ID(2888) version(400) sku(0001) revision(D.0)

please check TNSPEC of your board, i.e. $ cat /etc/nv_boot_control.conf
you may have a try to assign those into flash commands.
for example,

$ sudo BOARDID=2888 FAB=400 BOARDSKU=0001 BOARDREV=D.0 ./flash.sh jetson-xavier mmcblk0p1

Thx now it seems to work !!!

Kind regards.