./flash.sh fails: "enable regulator failed"

Hi;

I’m doing my first steps with Jetson TX2, but flashing the board for the first time fails.

What I have done:

Linux host system is a fresh copy of Ubuntu 16.04.3 LTS amd64 within the most recent VirtualBox release.

I install Jetpack-L4T-3.1-linux-x64.run (35477869 bytes)

I’ve got a Jetson TX1 (yes, TX1) Devkit. I removed the TX1 CPU module/heatsink/fan assembly and mounted a TX2 CPU module (factory new, came unopend and sealed in its antistatic bag) and a new heatsink on top of the TX2. Having read the documentation for TX1 and TX2 I assumed that they are socket compatible.

I connected power and UART0 (via J21), pressed the recovery button and turned the board on. lsusb showed an NVidia device.

I tried both flashing from the installer and issuing “sudo ./flash.sh jetson-tx2 mmcblk0p1”

The flash process quits abnormally:

-------------Last lines of Linux terminal output--------------
[ 3.7667 ] Sending bootloader and pre-requisite binaries
[ 3.7704 ] tegrarcm_v2 --download blob blob.bin
[ 3.7710 ] Applet version 01.00.0000
[ 3.7923 ] Sending blob
[ 3.7923 ] […] 100%
[ 4.2753 ]
[ 4.2762 ] tegrarcm_v2 --boot recovery
[ 4.2768 ] Applet version 01.00.0000
[ 4.2885 ]
[ 4.2987 ] tegrarcm_v2 --isapplet
[ 4.9307 ]
[ 4.9331 ] tegradevflash_v2 --iscpubl
[ 4.9339 ] CPU Bootloader is not running on device.
[ 4.9366 ]
[ 36.4983 ] Retrieving storage infomation
[ 36.5012 ] tegrarcm_v2 --oem platformdetails storage storage_info.bin
[ 36.5040 ] Applet is not running on device. Continue with Bootloader
[ 36.5454 ]
[ 36.5554 ] tegradevflash_v2 --oem platformdetails storage storage_info.bin
[ 36.5562 ] CPU Bootloader is not running on device.
[ 36.5568 ]
Error: Return value 4
Command tegradevflash_v2 --oem platformdetails storage storage_info.bin
Failed flashing t186ref.

-------------Last lines of UART0 output--------------
[0230.355] I> Boot-device: eMMC
[0230.379] I> sdmmc ddr50 mode
[0230.383] I> sdmmc bdev is already initialized
[0230.387] I> Reading GPT from 512 for device 00000003
[0230.393] I> Reading GPT from 8388096 for device 00000003
[0230.399] W> Cannot find any partition table for 00000003
[0230.404] E> tegrabl_partition_publish: exit error = 6834001
[0230.409] I> Reading GPT from 512 for device 00010003
[0230.415] I> Reading GPT from 31268535808 for device 00010003
[0230.421] W> Cannot find any partition table for 00010003
[0230.427] E> tegrabl_partition_publish: exit error = 6834001
[0230.432] I> Recovery boot_type: 0
[0230.435] I> bl dtb load address = @0x85690000
[0230.442] I> fixed regulator driver initialized
[0230.477] I> register ‘maxim’ power off handle
[0230.483] I> virtual i2c enabled
[0230.486] I> registered ‘maxim,max77620’ pmic
[0230.491] I> tegrabl_gpio_driver_register: register ‘max77620-gpio’ driver
[0230.498] I> Entering 3p server
[0230.501] I> Entering into 3p server…
[0230.504] I> Transport interface is USB
[0230.513] I> setting ‘vdd-3v3-sys’ regulator to 3300000 micro volts
[0230.520] W> tegrabl_usbf_priv_init enable regulator failed
[0230.525] I> tegrabl_usbf_priv_init:2583 full init:: [0230.530] I> SUPER SPEED

I noticed the lines:
setting ‘vdd-3v3-sys’ regulator to 3300000 micro volts
tegrabl_usbf_priv_init enable regulator failed

My questions:

  • Is the DevKit carrier board the same for TX1 and TX2? Should the module swap TX1-TX2 work? Are there incompatible revisions? Please note that the TX1 devkit has been purchased end of 2016 and may predate the TX2 release.
  • Did I make any mistake? Did I break anything?

Best Regards

Frank-Christian Kruegel
Embedded Engineer
OptoPrecision GmbH Bremen

Hi Frank, flashing from within Virtual Machine (VM) isn’t officially supported. It may work sometimes if you increase the USB buffering size in the VM configuration settings, and don’t use a USB extension cable or hub connecting the host and Jetson.

Also Ubuntu 14.04 x86_64 is the officially supported host for running JetPack, but I have personally run 16.04 without much issue (de-select installing OpenCV4Tegra for Host if necessary). First I would try eliminating the VM in lieu of a native Ubuntu install on the host via dual-boot or similar.

The TX2 devkit reference carrier board has some minor differences, including a change to the regulators, so please only use the TX2 module with the TX2 devkit or ecosystem compliant carrier.

The TX2 devkit reference carrier board has some minor differences, including a change to the regulators, so please only use the TX2 module with the TX2 devkit or ecosystem compliant carrier.

Thank you very much. This is a very important piece of information and explains the message “setting ‘vdd-3v3-sys’ regulator to 3300000 micro volts; tegrabl_usbf_priv_init enable regulator failed”

Could you please post or email me details on the differences so I can check our own carrier board?

Best Regards

Frank-Christian Kruegel
Embedded Engineer
OptoPrecision GmbH Bremen

Hi Frank, for your circumstances, please consult the Jetson TX1-TX2 Interface Comparison and Migration Guide. You may also want to reference the TX2 OEM Design Guide and updated Carrier Board Design Files.

Here is also a wiki article about the USB compliance in the device tree: http://elinux.org/Jetson/TX2_USB
For further info, if you do a search of the TX2 forum, there are various threads referencing it.