"Reading Board Information Failed" when flashing Jetson TX2

I’m trying to flash my Jetson TX2 to L4T 27.1. My host is Ubuntu 16.04.

According to lsusb my Jetson is visible to the host system but when I try to flash I get “Reading Board Information Failed”.

Anyone have any ideas?

jbentz@ubuntu1404:Linux_for_Tegra$ lsusb -d 0955:7c18
Bus 003 Device 010: ID 0955:7c18 NVidia Corp. 
jbentz@ubuntu1404:Linux_for_Tegra$ sudo ./flash.sh jetson-tx2 mmcblk0p1
./tegraflash.py --chip 0x18 --applet "/home/jbentz/TX2orig/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin" --cmd "dump eeprom boardinfo cvm.bin" --skipuid 
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.0024 ] Generating RCM messages
[   0.0041 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm /home/jbentz/TX2orig/Linux_for_Tegra/bootloader/mb1_recovery_prod.bin 0 0
[   0.0056 ] RCM 0 is saved as rcm_0.rcm
[   0.0063 ] RCM 1 is saved as rcm_1.rcm
[   0.0063 ] List of rcm files are saved in rcm_list.xml
[   0.0063 ] 
[   0.0063 ] Signing RCM messages
[   0.0078 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0093 ] Assuming zero filled SBK key
[   0.0162 ] 
[   0.0162 ] Copying signature to RCM mesages
[   0.0177 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[   0.0194 ] 
[   0.0195 ] Boot Rom communication
[   0.0208 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
[   0.7286 ] 
Error: Return value 8
Command tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
Reading board information failed.

Some of the communications succeeded, and then failed. Is the host a VM?

So I tried both, i.e., Ubuntu 14.04 in a VM and using my 16.04 desktop natively. Both showed the same error. However I was also connected to another VM on a remote host this entire time. I started poking around this and it seems that my USB connection to the TX2, while showing up properly in “lsusb”, was also showing up in my remote VM. I disconnected this remote VM session, put the TX2 into recovery mode again, and re-flashed the board and it worked. So I guess somehow the USB connection was getting confused by the presence of my remote VM.

VMs all seem to be fussy about USB. Communications which start out ok, but then fail later, is typical with all VMs.

I have found the solution. I am using Mac und VB. I have also Ubuntu 16.04 installed.
For USB case, we should add Nvidia usb (NVIDIA Corp. APX) into a filter list in VB USB Setting (USB Device Filters). After that, you will not have communication problem.