Host physical machine can't connect device when flash jp5.0.2 for xavier nx

hi nv team,
The customer want to flash jp5.0.2 on xavier nx through of packaged system tar file.
But here is compatible issue because the device cann’t reboot.
the error log is “Waiting for target to boot-up” and timeout. at the same time, host machine cann’t find 0955:7035 by lsusb.

basic information are:
1、device is rcm mode and host flash
when device is rcm mode, the host machine flash cmd is:
sudo ./tools/kernel_flash/ --flash-only --massflash 1
2、the physical machine is assembly machine, included of asus motherboard, intel cpu, x86_64 arch;the host os is ubuntu 20.04;
the same applies to dell G16 7630 and IMB-1110 of industrial motherboard.
But these physical machine can flash jp4.6.2 for xavier nx.
3、relatively, thinkapd T14/Ubuntu 20.04 can flash successfully.

preliminary analysis are:
1、usb typec cable is ok by cross validation;
2、host usb port is the same one, or usb2.0 hub;
3、the device cann’t reboot during flashing and the host is waiting for boot-up until timeout.
But I don’t know host machine’s constraint condition and the root cause.

the attach file can be analysed.
thanks in advanced.
flash_1-3_0_20230821-184019.log (35.6 KB)


then does it work without massflash like this?

sudo ./tools/kernel_flash/ --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml  --showlogs --network usb0 jetson-xavier-nx-devkit nvme0n1p1

Please also attach the serial console log during flashing, as flashing log doesn’t really help here.

But xavier nx use emmc 16G , not nvme0n1p1 ssd.
please check the flash cmd firstly.

Then does this work?

sudo ./tools/kernel_flash/ jetson-xavier-nx-devkit-emmc mmcblk0p1

How did you make the massflash package?

this flash cmd don’t work, and the prompt message is “xxx/ is not found”.

the massflash package is generated by “Workflow 3: To massflash the backup image” of “Linux_for_Tegra\tools\backup_restore\README_backup_restore.txt”.
Because the customer and odm factory don’t have sdkmanager environment and the relevant opetations are complicated. They only have one ubuntu host machine.

when flash error, we have saved the serial console logs.
please analyse it.
uart_ok.log (60.2 KB)
fail_uart_jp502.log (4.9 KB)
fail_uart2.txt (7.7 KB)


based on the log

[0357.614] E> I2C: slave not found in slaves.                                   
[0357.615] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start t.
[0357.621] E> I2C_DEV: Failed to send register address 0x00000000.              
[0357.627] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 a.
[0357.636] E> eeprom: Failed to read I2C slave device                           
[0357.641] I> Failed to read CVM eeprom data                                    
[0357.645] E> Error getting EEPROM data!  

It’s either hardware failure, or please check Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-l4t.cfg and Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg to see if you accidentally modified reading size of the EEPROM on the module:

eeprom.cvm_eeprom_i2c_instance = 0;
eeprom.cvm_eeprom_i2c_slave_address = 0xa0;
eeprom.cvm_eeprom_read_size = 256;

If it’s hardware failure, then it’s not recoverable by just switching to a different host PC, so I guess you did something wrong with the config.

Hi Dave,

I check the i2c part, add the patch file and the issue can resolved for our carrier board.

Thanks to your advice again.

mfi_jetson-xavier-nx-devkit-emmc\bootloader\ tegra19x-mb1-prod-p3668-0001-a00.cfg

该文件末尾,增加的Patch 代码如下:


prod.0x02434064.0x01f1f000 = 0x0001f000; # PADCTL_CONN_CFG2TMC_GEN1_I2C_SCL_0 drive settings

prod.0x0243406c.0x01f1f000 = 0x0001f000; # PADCTL_CONN_CFG2TMC_GEN1_I2C_SDA_0 drive settings

1 Like

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