Flashing Jetson AGX Xavier with Jetson Linux 34.1.0 or newer fails with custom carrier board

We are using custom carrier board for the Jetson Agx Xavier. Custom carrier board has some differences from the development kit’s board based on our project’s needs (those are mostly related to USB connections, PCIe interfaces, etc.). Using the board we are always able to successfully flash Jetson with Jetson Linux version up to 32.7.3. Flashing process fails if we try Jetson Linux version 34.1.0 or newer. The same Jetson module using the same flashing procedure can be flashed if it’s attached to a carrier board which came with the development kit; however Jetson will then not boot when after flashing it is attached back to our custom carrier board. What could be the reason for this failure? Can we tell something from the “BIT boot status dump” in the serial output? What exact type of boot device is it referring to here: “Unsupported boot-device: 0x00000003”?

The following is the output (a few last lines of it before it fails) of the call to flash.sh:

[   9.7404 ] Sending BCTs
[   9.7460 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
[   9.7488 ] Applet version 01.00.0000
[   9.8369 ] Sending bct_bootrom
[   9.8375 ] [................................................] 100%
[   9.8392 ] Sending bct_mb1
[   9.8425 ] [................................................] 100%
[   9.9436 ]
Error: Return value 8
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
Failed flashing t186ref.

Here is the full serial console output from Jetson during the failed flash attempt with custom carrier board:

[0067.048] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0067.056] I> MB1 (prd-version: 2.2.0.0-t194-41334769-3540ffaa)
[0067.061] I> Boot-mode: Platform RCM
[0067.064] I> Platform: Silicon
[0067.067] I> Chip revision : A02P
[0067.070] I> Bootrom patch version : 15 (correctly patched)
[0067.075] I> ATE fuse revision : 0x200
[0067.079] I> Ram repair fuse : 0x1
[0067.082] I> Ram Code : 0x2
[0067.085] I> rst_source: 0x0, rst_level: 0x0
[0067.090] I> USB configuration success
[0069.338] I> mb2 image downloaded
[0069.418] I> Recovery boot mode 0
[0069.422] E> Unsupported boot-device: 0x00000003
[0069.428] I> UPHY full init done
[0069.435] I> MB1 done

[0069.440] I> Welcome to MB2(TBoot-BPMP) Applet (version: default.t194-mobile-a1105112)
[0069.447] I> DMA Heap @ [0x40020000 - 0x40065800]
[0069.452] I> Default Heap @ [0xd486400 - 0xd48a400]
[0069.456] W> Profiler not initialized
[0069.822] I> sdmmc DDR50 mode
[0069.827] E> SPI_FLASH: Invalid value device id: 7.
[0069.832] I> QSPI Flash is not present.
[0069.838] E> CLK_RST: instance 6 not found in module 44.
[0069.843] E> MPhy CAR configuration failed error = 1747992077
[0069.848] E> UFS initialization failed
[0069.851] I> UFS is not present
[0069.858] I> Found 17 partitions in SDMMC_BOOT (instance 3)
[0069.867] I> Found 42 partitions in SDMMC_USER (instance 3)
[0069.872] W> Profiler not initialized
[0069.875] I> Entering 3p server
[0069.879] I> USB configuration success
[0070.781] I> Populate chip info
[0070.865] I> Populate eeprom info
[0070.869] I> Populate eeprom info for module cvm
[0070.874]  > DEVICE_PROD: device prod is not initialized.
[0071.080] I> Rebooting : reboot-recovery


[0071.085] I> Reset to recovery mode
[0018.481] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0018.489] I> MB1 (prd-version: 2.2.0.0-t194-41334769-3540ffaa)
[0018.494] I> Boot-mode: RCM
[0018.497] I> Platform: Silicon
[0018.499] I> Chip revision : A02P
[0018.502] I> Bootrom patch version : 15 (correctly patched)
[0018.508] I> ATE fuse revision : 0x200
[0018.511] I> Ram repair fuse : 0x1
[0018.514] I> Ram Code : 0x2
[0018.517] I> rst_source: 0xb, rst_level: 0x1
[0018.522] I> USB configuration success
[0020.662] I> bct_bootrom image downloaded
[0020.670] W> PROD_CONFIG: device prod data is empty in MB1 BCT.
[0020.677] I> Temperature = 39500
[0020.680] W> Skipping boost for clk: BPMP_CPU_NIC
[0020.685] W> Skipping boost for clk: BPMP_APB
[0020.689] W> Skipping boost for clk: AXI_CBB
[0020.693] W> Skipping boost for clk: AON_CPU_NIC
[0020.697] W> Skipping boost for clk: CAN1
[0020.701] W> Skipping boost for clk: CAN2
[0020.705] E> Unsupported boot-device: 0x00000003
[0020.709] E> Unsupported boot-device: 0x00000003
[0020.714] C> Invalid boot-device
[0020.717] C> Task 0x34 failed (err: 0x82820202)
[0020.721] E> Top caller module: STORAGE_CONFIG, error module: STORAGE_CONFIG, reason: 0x02, aux_info: 0x02
[0020.730] C> Error: 0x82820202
[0020.733] C> MB1(2.2.0.0-t194-41334769-3540ffaa) BIT boot status dump :	0011111111110000000000011110111111000000111111111111000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0020.763] I> Reset to recovery mode

please use rel-35 release. 34 is just a developer preview and you should not use it anymore.

If issue is still with rel-35, share the log again.

Thank you for the reply, WayneWWW. The reason I have tried 34.1.0 was I went back version by version to pinpoint exactly at which point Jetson started failing to be updated - this was the version. I have just tried with 35.3.1 again. Here are the results.

flash.sh output:

[   4.3905 ] Sending BCTs
[   4.3958 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
[   4.3991 ] Applet version 01.00.0000
[   4.4860 ] Sending bct_bootrom
[   4.4863 ] [................................................] 100%
[   4.4875 ] Sending bct_mb1
[   4.4919 ] [................................................] 100%
Error: Return value 8
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
Failed flashing t186ref.

Serial console output:

[0017.200] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0017.208] I> MB1 (prd-version: 2.6.0.0-t194-41334769-cab45716)
[0017.213] I> Boot-mode: Platform RCM
[0017.217] I> Platform: Silicon
[0017.219] I> Chip revision : A02P
[0017.222] I> Bootrom patch version : 15 (correctly patched)
[0017.228] I> ATE fuse revision : 0x200
[0017.231] I> Ram repair fuse : 0x1
[0017.234] I> Ram Code : 0x2
[0017.237] I> rst_source: 0x0, rst_level: 0x0
[0017.242] I> USB configuration success
[0019.442] I> mb2 image downloaded
[0019.526] I> Recovery boot mode 0
[0019.529] E> Unsupported boot-device: 0x00000003
[0019.535] I> UPHY full init done
[0019.542] I> MB1 done

[0019.547] I> Welcome to MB2(TBoot-BPMP) Applet (version: default.t194-mobile-d394e178)
[0019.555] I> DMA Heap @ [0x40020000 - 0x40065800]
[0019.559] I> Default Heap @ [0xd486400 - 0xd48a400]
[0019.564] W> Profiler not initialized
[0019.624] I> sdmmc DDR50 mode
[0019.629] E> SPI_FLASH: Invalid value device id: 7.
[0019.633] I> QSPI Flash is not present.
[0019.640] E> CLK_RST: instance 6 not found in module 44.
[0019.644] E> MPhy CAR configuration failed error = 1747992077
[0019.650] E> UFS initialization failed
[0019.653] I> UFS is not present
[0019.660] I> Found 17 partitions in SDMMC_BOOT (instance 3)
[0019.669] I> Found 42 partitions in SDMMC_USER (instance 3)
[0019.674] W> Profiler not initialized
[0019.677] I> Entering 3p server
[0019.681] I> USB configuration success
[0020.845] I> Populate chip info
[0020.929] I> Populate eeprom info
[0020.933] I> Populate eeprom info for module cvm
[0020.938]  > DEVICE_PROD: device prod is not initialized.
[0021.145] I> Rebooting : reboot-recovery


[0021.149] I> Reset to recovery mode

[0134.642] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0134.650] I> MB1 (prd-version: 2.6.0.0-t194-41334769-cab45716)
[0134.656] I> Boot-mode: RCM
[0134.658] I> Platform: Silicon
[0134.661] I> Chip revision : A02P
[0134.664] I> Bootrom patch version : 15 (correctly patched)
[0134.669] I> ATE fuse revision : 0x200
[0134.673] I> Ram repair fuse : 0x1
[0134.676] I> Ram Code : 0x2
[0134.678] I> rst_source: 0xb, rst_level: 0x1
[0134.683] I> USB configuration success
[0136.819] I> bct_bootrom image downloaded
[0136.828] W> PROD_CONFIG: device prod data is empty in MB1 BCT.
[0136.835] I> Temperature = 38500
[0136.838] W> Skipping boost for clk: BPMP_CPU_NIC
[0136.842] W> Skipping boost for clk: BPMP_APB
[0136.846] W> Skipping boost for clk: AXI_CBB
[0136.850] W> Skipping boost for clk: AON_CPU_NIC
[0136.855] W> Skipping boost for clk: CAN1
[0136.858] W> Skipping boost for clk: CAN2
[0136.863] E> Unsupported boot-device: 0x00000003
[0136.867] E> Unsupported boot-device: 0x00000003
[0136.871] C> Invalid boot-device
[0136.874] C> Task 0x3f failed (err: 0x82820202)
[0136.879] E> Top caller module: STORAGE_CONFIG, error module: STORAGE_CONFIG, reason: 0x02, aux_info: 0x02
[0136.888] C> Error: 0x82820202
[0136.891] C> MB1(2.6.0.0-t194-41334769-cab45716) BIT boot status dump :	0000000000111111111001000000000001111011111100000011111111111110000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0136.920] I> Reset to recovery mode

One of the major changes starting with 34.1.0 seems to have been introduction of UEFI Bootloader. Maybe that could be somehow related? Maybe something is missing in our custom carrier board for >34.1.0 to work out-of-the-box and it has to be configured accordingly?

Hi,

I think there is a hardware problem on your custom board that was not get caught when it is rel-32. The “Invalid boot-device” log shows there is a boot-selection strap pin that has some problem.

Similar post here.

Hi, please refer to chapter 15.3 Strapping Pins in Xavier Design Guide to check the custom design. Those pins status should not be changed at power-on.

Thank you for the suggestions, WayneWWW and Trumany. The problem has indeed turned out to be related to boot strapping pins. We had UART1_TX, UART1_RTS, UART2_TX, UART2_RTS connected to the inputs of the SN74AVC24T245ZRGR level converter and pins UART4_TX, UART4_RTS connected to lower voltage side of the TXS0108ERGYR bi-directional level converter (other side of it was not driven by anything and we expected it to not impact the boot process, especially after it did not cause problems with older L4T versions). We have now first de-soldered SN74AVC24T245ZRGR and the problem remained. After de-soldering TXS0108ERGYR too we are able to flash and boot Jetson with custom carrier board and the latest 35.3.1 L4T.

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