Reflashing TX1 is stuck at Boot Rom communication - tegrarcm --chip 0x21 --rcm rcm_list_signed.xml

I have a 1404 VM running on my Ubuntu 1604 host. I have installed JetPack and I linked through the usb port. It shows up fine on the 1404 guest vm:

ubuntu@crusty:~$ lsusb
Bus 001 Device 004: ID 0955:7721 NVidia Corp.

But my installation gets stuck. I won’t show the whole log, but here’s the ending part:

copying flasher(/home/ubuntu/64_TX1/Linux_for_Tegra_64_tx1/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/ubuntu/64_TX1/Linux_for_Tegra_64_tx1/bootloader/tegraflash.py) reused.
*** Flashing target device started. ***
./tegraflash.py --bl cboot.bin --bct P2180_A00_LP4_DSC_204Mhz.cfg --odmdata 0x84000 --bldtb tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb --applet nvtboot_recovery.bin --boardconfig board_config_p2597-devkit.xml --cmd "flash;reboot" --cfg flash.xml --chip 0x21 
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.0000 ] Generating RCM messages
[   0.0165 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 --download rcm nvtboot_recovery.bin 0 0
[   0.0186 ] RCM 0 is saved as rcm_0.rcm
[   0.0396 ] RCM 1 is saved as rcm_1.rcm
[   0.0396 ] List of rcm files are saved in rcm_list.xml
[   0.0396 ] 
[   0.0397 ] Signing RCM messages
[   0.0490 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0512 ] Assuming zero filled SBK key
[   0.0788 ] 
[   0.0788 ] Copying signature to RCM mesages
[   0.0804 ] tegrarcm --chip 0x21 --updatesig rcm_list_signed.xml
[   0.0868 ] 
[   0.0868 ] Parsing partition layout
[   0.1049 ] tegraparser --pt flash.xml
[   0.1188 ] 
[   0.1188 ] Creating list of images to be signed
[   0.1220 ] tegrahost --chip 0x21 --partitionlayout flash.bin --list images_list.xml
[   0.1628 ] 
[   0.1628 ] Generating signatures
[   0.1644 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[   0.1660 ] Assuming zero filled SBK key
[   0.2188 ] 
[   0.2308 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.cfg --chip 0x21
[   0.2324 ] Copying Sdram info from 1 to 2 set
[   0.2480 ] Copying Sdram info from 2 to 3 set
[   0.2553 ] 
[   0.2553 ] Updating boot device parameters
[   0.2566 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatedevparam flash.bin
[   0.2580 ] Warning: No sdram params
[   0.2668 ] 
[   0.2668 ] Updating bl info
[   0.2680 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updateblinfo flash.bin --updatesig images_list_signed.xml
[   0.2748 ] 
[   0.2748 ] Updating secondary storage information into bct
[   0.2759 ] tegraparser --pt flash.bin --chip 0x21 --updatecustinfo P2180_A00_LP4_DSC_204Mhz.bct
[   0.2828 ] 
[   0.2828 ] Updating board information from board config into bct
[   0.2839 ] tegraparser --boardconfig board_config_p2597-devkit.xml --chip 0x21 --updatecustinfo P2180_A00_LP4_DSC_204Mhz.bct
[   0.2908 ] 
[   0.2908 ] Updating Odmdata
[   0.2918 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatefields Odmdata = 0x84000
[   0.2931 ] Warning: No sdram params
[   0.3028 ] 
[   0.3028 ] Get Signed section bct
[   0.3039 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --listbct bct_list.xml
[   0.3091 ] 
[   0.3091 ] Signing BCT
[   0.3101 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[   0.3113 ] Assuming zero filled SBK key
[   0.3188 ] 
[   0.3188 ] Updating BCT with signature
[   0.3198 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatesig bct_list_signed.xml
[   0.3268 ] 
[   0.3268 ] Copying signatures
[   0.3277 ] tegrahost --chip 0x21 --partitionlayout flash.bin --updatesig images_list_signed.xml
[   0.3288 ] Run tegrabct to update tboot signature in bct
[   0.3428 ] 
[   0.3428 ] Updating BFS information
[   0.3439 ] tegrabct --bct P2180_A00_LP4_DSC_204Mhz.bct --chip 0x21 --updatebfsinfo flash.bin
[   0.3495 ] 
[   0.3495 ] Boot Rom communication
[   0.3504 ] tegrarcm --chip 0x21 --rcm rcm_list_signed.xml
[   0.3515 ] BR_CID: 0x3210100164122583100000000efb0300

I’ve tried it a few times and it gets stuck always at this point. Any ideas what could be going wrong here? This is very frustrating situation. I would rather spend my time developing software instead of spending days trying to flash this. Thank you.

Most of the time it will turn out that there is something to adjust in the VM settings for USB. I don’t know what to tell you for this specific case, but if you have the ability to tune USB settings to the VM, I’d start there.

The only USB setting I can find is “hypervisor default”, “usb2” or “usb3”. It was hypervisor default, so I switched to usb2, and that had the same behavior and then tried usb3, no difference.

I’m also downloading 1404 right now and I will install it directly on to an old laptop and see what happens. Maybe that’s more lucky.

I installed 1404 directly onto an old laptop. Then I ran JetPack again. Everything worked as expected, and it finished installation.

Conclusion: KVM didn’t work well. Real hardware worked.

I also did install the entire thing on VirtualBox, and if I need to flash it again, I’ll try that to see if it works better than KVM did.