Can't flash Jetpack3.2 on Nvidia TX2 devboard

Please dump some value in bootloader/tegraflash_internal.py.

function → def tegraflash_dumpeeprom

Did you modify EEPROM on these modules before?

How to dump the value, I paste this function as follows.

I have never modify EEPROM on these modules, I only modify ODMDATA=0x7090000 in p2771-0000.conf.common

def tegraflash_dump(args, dump_args):
    values.update(args)
    if dump_args[0] == 'ram' and int(values['--chip'], 0) == 0x18:
            tegraflash_dumpram_t18x(dump_args[1:])
            return
    if values['--securedev']:
        tegraflash_send_tboot(args['--applet'])
    else:
        tegraflash_generate_rcm_message()
        tegraflash_send_tboot(tegrarcm_values['--signed_list'])
    args['--skipuid'] = False

    if dump_args[0] == 'ram':
        tegraflash_dumpram(dump_args[1:])
    elif dump_args[0] == 'ptm':
        if int(values['--chip'], 0) == 0x18:
            raise tegraflash_exception(dump_args[0] + " is not supported")
        tegraflash_dumpptm(dump_args[1:])
    elif dump_args[0] == 'eeprom':
        tegraflash_dumpeeprom(args, dump_args[1:])
    elif dump_args[0] == 'custinfo':
        if int(values['--chip'], 0) == 0x18:
            raise tegraflash_exception(dump_args[0] + " is not supported")
        tegraflash_read(args, 'bct', 'tmp.bct')
        tegraflash_dumpcustinfo(dump_args[1:])
    else:
        raise tegraflash_exception(dump_args[0] + " is not supported")

Because the CRC value is incorrect in your latest log, it means the value in EEPROM is modified or wrong.

I still doubt host 16.04 issue because we just started to support it recently and it may have bug we don’t know.

If your device is able to boot up, please run “sudo i2cdump -y 7 0x50”. It could dump the eeprom value.
Also, we have EEPROM layout document in below link. Please refer to it for the meaning of each field.

If EEPROM value is correct, we can move back to find if anything wrong when flash.

Really sorry for inconvenience.

Hi WayneWWW:

I know why this problem occurs, I modified I2C eeprom when I test I2C bus by attached a external EEPROM, I don’t know bus 7 0x50 is internal eeprom, so I modified internal eeprom manually. Now I revert the internal eeprom modification, three modules is ok can flash emmc. But one pcs can’t go to system successfully for other reason, I can’t login by uart console either by hdmi&keyboard, so I can’t use “i2cset” command to revert my modification. The attached file is error log which can’t go to system successfully.

I try to modify cbootargs to boot from USB(a USB-stick which I copied rootfs), but it still use emmc as rootfs. Do you have some method to go to system successfully or force flash emmc avoid to check eeprom?
cant_goto_system.txt (138 KB)

Unfortunately this check during flash is a must-have step. Looks like we need to use ssh.

It seems if EEPROM value is not correct, ethernet mac is blank and I can’t turn on eth0, so ssh is not available. I think this module should send to Nvidia RMA for repair.

Sure, please follow RMA procedure for this module.

I also met with similar issue.

While booting, got the error:
Error: ethernet@2490000 address not set.
No ethernet found.

And flashing the TX2 with mentioned procedures are also not working and prints the error
Parsing board information failed.

Does this flashing issue got resolved?
Could you please post solution, if you succeed to flash your TX2?

Hi Flemin,

The cause of guohoujin2006 cannot flash his board is due to modification on EEPROM. Did you also overwrite your EEPROM?

Hi WayneWWW,

I think we have overwritten the EEPROM using i2c-tools. How to program it back with default values?

Please refer to the rule of EEPROM in EEPROM layout document. I have pasted the link in previous comment.

Hi WayneWWW,

Writing the Ethernet MAC address and the checksum to the EEPROM using i2c-tools worked. Now I’m able to flash my Jetson TX2.

Thanks for the support.

Hi Flemin,

I’m facing same problem because I tried to write something wrong to EEPROM by I2C.
Could you please let me know how to recover by using i2c-tools.

Thanks and Best Regards,
Vu Nguyen

FYI:

After I checked CRC by this tool

./chkbdinfo -i cvm.bin

Then used i2cset to write the correct CRC to the end of EEPROM. Now Jetson TX2 work well as before.

Thanks and Best Regards,
Vu Nguyen