Broken flash.sh on JetPack 5.1.1

Hello,
I have been trying to update my JetPack 5.1.1 flashing process, and streamline my .dts files.
I seem to have broken my flash.sh process.
flashFail_dec7_errCode8.txt (41.5 KB)
, ending in Error: Return Value 8 when sending bct_mem.

Below is the UART log when that happens:

[0025.142] W> RATCHET: MB1 binary ratchet value 4 is larger than ratchet level 2 from HW fuses.
[0025.150] I> MB1 (prd-version: 2.6.0.0-t194-41334769-cab45716)
[0025.155] I> Boot-mode: RCM
[0025.158] I> Platform: Silicon
[0025.161] I> Chip revision : A02P
[0025.164] I> Bootrom patch version : 15 (correctly patched)
[0025.169] I> ATE fuse revision : 0x200
[0025.172] I> Ram repair fuse : 0x0
[0025.176] I> Ram Code : 0x0
[0025.178] I> rst_source: 0xb, rst_level: 0x1
[0025.183] I> USB configuration success
[0027.326] I> bct_bootrom image downloaded
[0027.335] W> PROD_CONFIG: device prod data is empty in MB1 BCT.
[0027.342] I> Temperature = 19000
[0027.346] W> Skipping boost for clk: BPMP_CPU_NIC
[0027.350] W> Skipping boost for clk: BPMP_APB
[0027.354] W> Skipping boost for clk: AXI_CBB
[0027.358] W> Skipping boost for clk: AON_CPU_NIC
[0027.362] W> Skipping boost for clk: CAN1
[0027.366] W> Skipping boost for clk: CAN2
[0027.370] E> PADCTL: pad voltage config table is empty in MB1 BCT.
[0027.376] E> PADCTL: pinmux table is empty in MB1 BCT.
[0027.381] I> Boot-device: QSPI (instance: 0)
[0027.385] I> Qspi flash params source = mb1bct
[0027.389] I> bct_mb1 image downloaded
[0027.399] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000
[0027.406] W>  Thermal config not found in BCT
[0027.413] E> I2C: Timeout while polling for transfer complete. Last value 0x00000002.
[0027.420] E> I2C: Could not write 0 bytes to slave: 0x0078 with repeat start true.
[0027.428] E> I2C_DEV_BASIC: Failed to send register address 0x53.
[0027.434] E> I2C_DEV_BASIC: Could not read data of size 1 at register address 0x0053 from slave 0x78 via i[0027.444] E> I2C_DEV_BASIC: Failed to update 1 byte value at register 0x53 of slave 0x78 via instance 4[0027.453] C> NO_MODULE: Failed to update reg address 0x53 of slave 0x78 in i2c block :0 in pad voltage config table.
[0027.463] E> FAILED: Generic i2c config
[0027.467] C> Task 0x48 failed (err: 0x56260506)
[0027.471] E> Top caller module: PMIC, error module: I2C, reason: 0x06, aux_info: 0x05
[0027.478] C> Error: 0x56260506
[0027.481] C> MB1(2.6.0.0-t194-41334769-cab45716) BIT boot status dump :
0000000000111111111001000000000001111011111100000011111111111111001110000000000000000000000000000000000000000000000000000000000010100000000001010000000000000101000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0027.511] I> Reset to recovery mode

I have tried with both an SD Jetson and eMMC Jetson Xavier NX, and both fail with the same message.
I can flash with JetPack 4.6 just fine, and I used to be able to flash in 5.1.1 just fine, so I am trying to track down something I broke in the configuration files, etc…

Any ideas?

Hi user56856,

Are you using the devkit or custom board for Xavier NX?

May I know what yo did cause the flash failed?

   Running sudo ./flash.sh  myCustomCarrier-sd mmcblk1p1:

Are you using your own custom board config to flash the board?
Have you tried to use original board config before any modification?

Hi Kevin,
I am trying to figure out what I did to break the process. I am on a custom Carrier Board, that has worked in the past.
Recently I made changes to the board .dts files, the flash config files, trying to generate an OTA package for myCustomCarrier.
I have tracked my changes in SVN, and should be able to eventually figure it out, but I was hoping you could tell me some helpful information by looking at the return codes and error states.
For instance, is this problem due to a device tree, or board config, or EEPROM setting, or something like that?
Thanks for any information you can tell me from those error codes, and I will keep working to find out what I changed that broke it.

I am specifically wondering why some i2c setup, that looks to be the PMC, fails now.
I did not change anything about I2C as far as I am aware.

There’s EEPROM in module storing the SKU ID, FAB, MODEL, which would be read through I2C during flash.
If you modify some contents in board config that doesn’t match what you are using, it would report the errors like the following you got.

Ok, I found the source of my problem. My build script was deleting the boardName-pinmux.cfg and boardName-padvoltage.cfg files in bootloader/ and bootloader/t186ref/BCT after the script built them. Oops!
I meant to delete them before the build, to make sure they were fresh each time.
Once I moved the deletion up before the build, the flash is working fine.
Thanks for your time, sorry to waste it with a dumb mistake!

1 Like

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