Jetson Nano - device not showing up on balena cloud

I was following this link Get started with Nvidia Jetson Nano and Python - Balena Documentation , created the fleet but device does not show up on balena cloud. I tried both ethernet and wifi. When connected to monitor via HDMI, I am seeing nvidia screen. Any idea what I am doing wrong ?

@mithundotdas This is most likely indicating that the Nano you are using has been flashed with JetPack 4.6 in the past, which overwrote the QSPI bootloader to a new version that is incompatible with balenaOS. Someone must have been doing some testing on that board. :laughing:

In any case, you can flash the bootloader back in one of two ways:

The first method, is to use the instructions from the dialog pop-up when adding a new Jetson Nano to a fleet:

1. Use the form on the left to configure and download balenaOS for your new device.
2. Put the NVidia Jetson Nano SD-CARD in recovery mode
3. Unzip BalenaOS image and use [Jetson Flash](https://github.com/balena-os/jetson-flash) to provision the device.
4. After flashing is completed, please wait until the board is rebooted
5. Your device should appear in your fleet in the dashboard within a few minutes. Have fun!

Looking closer, for step 2, you have to place the Nano in Recovery Mode. This depends on your board, and could be either of these (courtesy of Peter Robinson):

Enable Force Recovery mode by placing a jumper across the FRC pins of the Button Header on the carrier board.
a. For carrier board revision A02, these are pins 3 and 4 of Button Header (J40) which is located near the camera header.
b. For carrier board revision B01, these are pins 9 and 10 of Button Header (J50), which is located on the edge of the carrier board under the Jetson module.

And on Step 3, you need to git clone that repo and run ./bin/cmd.js -f balena.img -m jetson-nano-qspi-sd (Make note that you need NodeJS version 10.x or 12.x installed, so you might want to spin up a VM for this.)

Ok, so that covers the first method of recovering the board. However, there is another method, that might be a little more user-friendly, at the cost of some disk space. Your second choice is to install the Nvidia Jetson SDK Manager, and use it to flash the board back to JetPack 4.5:

This is a graphical utility, designed to be installed on an Ubuntu machine (they don’t recommend a VM due to needing to enumerate the USB device in Recovery Mode, though it did work ok for me). Once installed, it will download the necessary bits and flash them to the Board, and you can select which components to install. At the end of the process, it will have flashed the entire system (double check that you select 4.5). At this point, since you have reverted everything to 4.5, you can just swap out the SD Card for one that has your balenaOS written to it, and it will boot right up.

Hope that helps!

1 Like

To add a bit more detail to this issue in case anyone comes across it and is in the same situation, here is what worked for me:

VM Setup (using VirtualBox):

  1. Create VM, using Ubuntu 18.04 image.
sudo apt-get install libxml2-utils git build-essential curl dirmngr apt-transport-https lsb-release ca-certificates

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

sudo apt-get install nodejs

git clone https://github.com/balena-os/jetson-flash.git

cd jetson-flash

npm install

  1. Launch Firefox, login to balenaCloud, click on your Fleet, Add Device, download balenaOS. (I chose Development version, 2.88)

  2. After Download completes, open the Downloads folder using the file manager utility, right click on the file, and choose “Extract Here” to uncompress the .img file.

  3. Power off the VM

  4. Go to the VM Settings, Ports, USB, and add a USB pass-through filter by clicking the first button which has a blue circle (which means “add everything” functionality…I also added the Nvidia device on a subsequent boot, just to be safe.)

  5. Power on the VM again.

Hardware Setup:

  1. Power off board, Disconnect USB from microUSB port.
  2. Make sure jumper is in place for Recovery Mode.
  3. Plug in power barrel, wait 5 seconds.
  4. With power still on, disconnect the Recovery jumper.
  5. Plug in MicroUSB and connect to laptop

Back in VM:

cd jetson-flash
./bin/cmd.js -f /home/<username>/Downloads/balenaCloud-xxxxxxx.img -m jetson-nano-qspi-sd

After a few minutes your Nano should now come online in balenaCloud (note, the Nano’s do not have on-board WiFi, you have to use a USB WiFi adapter, not all of which are supported…or just plug into ethernet.)

Hope that helps!

2 Likes

If anyone else reading this thread, I followed the steps mentioned by David above and was able to get my balena device shown on balena cloud. If you still have problem, I would suggest to try a different USB data cable or different SD card. I was got stuck at very last step. Flash was frozen after Saved platform info in storage_info.bin printed on console. It turned out that my SD card was damaged.

2 Likes