We are getting started with the TX2 board. Is it possible to do most everything (i.e. install Jetpack, download, run and debug programs, with exception of recovery mode), remotely over the board’s Ethernet connection ?
In studying the following threads:
it seems that in all cases the serial cable is still required for some basics, such as installing Jetpack.
We have an area in our lab dedicated to small form-factor AI solutions, and we need to (i) allow remote log-in for developers, and (ii) avoid (if at all possible) “tethering” a host machine to each Nvidia embedded platform.
Hi Jeff, the micro USB connection is required for flashing L4T in recovery mode. JetPack requires the micro USB connection too (as it flashes L4T first) and also Ethernet connectivity for post-flash install of packages (like CUDA toolkit, cuDNN, OpenCV, and TensorRT) via SSH. The Ethernet connection can be either directly from Jetson to host PC’s second NIC, or via a switch/router.
The RS232 serial header cable is only required for receiving the kernel debug output in realtime, or otherwise using the serial port connection for a user-defined application. Flashing does not occur over serial port, but rather the micro USB in recovery mode.
Thanks very much for your reply, it helps to clarify.
In that case, is there a way to avoid the USB-to-USB connection – or any other “host tether” – during development (with exception of using the serial connection for kernel debug output, as you mentioned) ?
The USB-to-USB connection is a short cable which necessitates tethering a host PC, which we are trying avoid for customer Edge and IoT demos in our AI lab. We want to demonstrate operation as “remote from the cloud” (i.e. no servers visible). If we could get to that point, and only use the serial cable in a private debug situation, that would be ok.
Perhaps you can flash the Jetson on a different carrier, and then use it on your carrier.
fastboot is part of the flash process even when not using fastboot for install (U-Boot is installed, fastboot is only temporarily in RAM). The fastboot serial command protocol over USB is the fundamental means of talking to the Jetson in recovery mode…so unless you add a new protocol to fastboot you can’t flash without USB.
In theory the flashing’s only occurring when JetPack-L4T updates are released by NVIDIA (few times per year). It’s only then, or when you would otherwise need to re-image or recover your Jetson, that it would need to be connected over micro USB. Once flashed with JetPack-L4T, connection to host PC is not required for use or development (although cross-development/cross-compilation is supported for those who desire).
Thanks, understood. We do need to perform continuous cross compilation as we’re implementing a CICD (continuous integration, continuous deployment) deep learning system between cloud and embedded IoT and Edge targets using the Jetson TX2. So training and testing in the cloud is ongoing, then model compression (and re-training), then rebuilding and testing on the TX2. From time-to-time, the TX2 will acquire new data, making the overall process continuous and iterative.
For TX2 code download and run, is it possible now (or will it become possible in a newer release) to use the Ethernet connection instead of USB ?
You can always deploy software packages remotely over Ethernet/WiFi (via SSH/SSHFS), as long as your Jetson has been flashed with JetPack first.
Perhaps during the times that you need to re-flash, you can make the micro USB connection at that time?
Dusty, Ok this is the approach we’re going to take then. We can put the “host USB PC” on a cart and use it only when necessary.
Hopefully this will keep the TX2 demos looking like true Edge and IoT solutions – able to run deep learning inference in real-time, acquire new training data, and be continuously updated from the cloud.