I created a fleet for Jetson Nano 2gb board to work with Opendatacam. Followed instructions to flash. My Nano is connected to router through Lan. Router sees the nano but the device does not show up in Balena dashboard. I am new to Linux and Balena. I have tried 2 versions of the image listed below, neither work.
“balena-cloud-nano2gb-jetson-nano-2gb-devkit-2.67.3+rev3-dev-v12.3.0.img”
“balena-cloud-nano2gb-jetson-nano-2gb-devkit-2.82.11+rev2-dev-v12.9.3.img”
What am I doing wrong?
Hi @Parthap - welcome to the Forums! A few quick questions for you: Did you happen to run JetPack 4.6 on that Nano previously? And, if you hook up an HDMI monitor, what is on the screen? An Nvidia logo, or, a balena logo?
That will tell me right away if we are dealing with a QSPI bootloader issue, or something else.
p.s. - how did you happen to hear about this project? OpenDataCam is really neat.
Hello Sir, thanks a lot for the reply.
I clicked on the “Deploy with Balena” on the OpenDataCam github page, logged into an account, created a fleet, and in “advanced” saw the link to the Balena ODC site link for github files for the project. I selected Jetson Nano 2gb as the device and clicked on “Deploy to fleet”. I saw a “build” process initiating and a fleet was created. There I clicked on “add device” , selected Jetson nano 2gb as device and downloaded image “balena-cloud-Counter-jetson-nano-2gb-devkit-2.82.11+rev2-dev-v12.9.3.img” which I flashed on to SD card. Nano does not show up on dashboard. When I connect HDMI, I do not see the Balena logo but I see the nvidia logo. It shows up as an online device on my router and I can ping it. I have tried this image, also 2 additional versions down, and the Jetson Nano SD version 2.45.1 rev3 as per the tutorial. I have tried with lan, with Pihole, without it and used 1.1.1.1 and 8.8.8.8 and without DNS specified in my router. I have tried hotspot wifi, hoping the Balena image might support the supplied WIFI card that comes with Nano 2gb. Feels like its booting but not all the way…
I have been repeatedly trying jetpack 4.3 and 4.6 images and the guide to install ODC using this Guide on the same couple SD cards, but I re-flash every time. I dont know if files from a previous attempt persist after flash. And, I dont know if the Balena ODC version is using Jetpack 4.3 or 4.6. Apologies for being unable to provide a more technical/precise answer.
I had been googling “Traffic counter Jetson Nano”, looking for a project that someone completely ignorant in Linux could attempt, couple ODC videos came up on youtube. Seeing what it can do, I am astonished that traffic signal operations folks throughout the country are not using it.
This is my first look at what a $60 SBC is capable of with the right software and I am amazed.
@parthap this answer is perfect, thanks! If that Nano is sitting at the Nvidia logo, and you have indeed begin experimenting with various JetPack releases, including 4.6, then you have likely written your QSPI flash with a version that is not compatible with balena. (We are working on resolving that, however).
In the meantime, what you can do it this:
-
On an Ubuntu PC, install the Nvidia SDK Manager, instructions for that are here: NVIDIA SDK Manager | NVIDIA Developer
-
Connect your Jetson to the PC with a USB Cable, hooked up to the MicroSD port on the Nano.
-
The SDK Manager will detect the Jetson, and you can overwrite it with a fresh installation of JetPack. In this case, select JetPack 4.4 or 4.5, and begin the flashing. (Fair warning, it takes a long time).
-
Once that is finished, you have reverted your Nano back to the older 4.4 or 4.5.
-
You can then boot your balenaOS SD Card, and the device should boot up and check in with balenaCloud.
Let me know how that goes, or if you run into issues.
Hello Sir, thanks for the instructions. I will attempt to carry them out. Today is the 11th day of my ownership of a Nano, but I will try.
FYI, the root cause for ODC not working as a native docker install on a nano has been identified. It had to do with MONGODB “latest” not being compatible with Nano. This issue will be fixed and an intermediate workaround is available. Looking forward to the Balena version of ODC! Thanks for the great work
We are facing the same issue here, with 2 different 4GB jetson boards.
Followed all of dtischler’s steps but no luck. Reverted to jetpack 4.5 using sdk manager.
Still stuck on the nvidia boot screen.
Hope this can be solved soon as balena cloud seems like a great product.
Hi @AlexandreLeboucher, I have a similar report in Jetson Nano - device not showing up on balena cloud, so I am going to attempt to duplicate this tomorrow with some fresh testing. I will update this thread once I find out more. Thanks for the report!
Sorry for the delay @AlexandreLeboucher, but I sorted this out. Here are the steps I took to get my Jetson online with balenaCloud:
VM Setup:
- 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
-
Launch Firefox, login to balenaCloud, click on your Fleet, Add Device, download balenaOS. (I chose Development version, 2.88)
-
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.
-
Power off the VM
-
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.)
-
Power on the VM again.
Hardware Setup:
- Power off board, Disconnect USB from microUSB port.
- Make sure jumper is in place for Recovery Mode.
- Plug in power barrel, wait 5 seconds.
- With power still on, disconnect the Recovery jumper.
- 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!
OK so the bare-metal method worked.
Glad to hear @AlexandreLeboucher – yes the VM method is finicky with the re-enumeration of USB devices.
Had same issue with a 4gb, sd version.
Fixed it with a live Ubuntu 18.04 (I guess it would work also with a more recent version, but I already had flashed that one to a stick)
my process :
$ sudo add-apt-repository universe
$ sudo apt install nodejs npm git libxml2-utils
$ sudo npm i -g n
$ sudo n 12
close terminal; open a new one to refresh PATH as node has changed location
$ sudo npm i -g node-gyp
$ git clone https://github.com/balena-os/jetson-flash.git
$ cd jetson-flash
$ npm i
$ cd node-modules/resin-image-fs/node-modules/ext2fs/
$ node-gyp rebuild
$ cd ../../../..
$ ./bin/cmd.js -f /path/to/balena.img -m jetson-nano-qspi-sd
Notes :
- I’ve put the balena.img file on another usb stick.
-
n
is a node version manager, it helps selecting a specific version of node (12 in our case) - for
node-gyp
to work you’ll also needbuild-essentials
(and maybepython
) but they were already installed as dependencies ofnpm
. - previously tried the SDK route, but it didn’t worked on a live Ubuntu as it was requiring lots of free space and tried to install tons of useless stuffs on the host machine.
- the jetson needs to be in “debug” mode, meaning on my dk board bridging the
FC REC
andGND
pins on the side of the board below the jetson module.