JetPack

Hi i bought following kit https://www.sparkfun.com/products/16417 from an distributer . I am trying to do the NVIDIA “Getting Started with AI on Jetson Nano” course.

I can´t run the docker or use the camera when i follow there the step by step introduction. They told me to upgrade to the newest JetPack.

When I upgrade to the latest JetPack 4.4.1 does it overwrite the software modifactions for SparkFuns hardware?

And is there another option to download thrue the terminal without flashing the SD-card?

Hi, thanks for writing in.

I am not a 100% sure, but I don’t think it should overwrite our file changes as they aren’t part of jetpack. You should be okay to upgrade to JetPack 4.4.1.

Flashing to the SD card is the easiest, but you will loose any of our changes for our hardware. I can’t think of an option for flashing through terminals at this time, so I would not recommend it.

Hope this helps.

TS-John:
Hi, thanks for writing in.

I am not a 100% sure, but I don’t think it should overwrite our file changes as they aren’t part of jetpack. You should be okay to upgrade to JetPack 4.4.1.

Flashing to the SD card is the easiest, but you will loose any of our changes for our hardware. I can’t think of an option for flashing through terminals at this time, so I would not recommend it.

Hope this helps.

Hi

thank you for the feedback.

How can I upgrade to Jetpack 4.4.1. by flashing and at the same time not lose your hardware modifications?

Hey, I’ve done this. It’s not too difficult, but took a while to figure out.

When I did it I was too chicken to overwrite the shipped SD card, so I bought another one.

That took some of the stress away. :slight_smile: The newer image is large so I recommend a 64GB card.

  1. You should start with the 4.4.1 JetBot image. That’s way easier.

I installed the 4.4.1 Jetbot SD card image from Nvidia and followed the instructions to install the wifi module from here:

  1. You need to apply some fixes. You need at least the wifi driver:

https://learn.sparkfun.com/tutorials/ad … jetson/all

( I needed to install dkms, this obviously needs to be done over ethernet, but if I recall correctly you can use ssh if you can figure out the ip address the jetbot gets )

I also did the following to fix the pink tint to the camera:

wget https://www.dropbox.com/s/u80hr1o8n9hqe … s.isp?dl=0

mv camera_overrides.isp* camera_overrides.isp

sudo cp camera_overrides.isp /var/nvidia/nvcam/settings/

as well as did this:

sudo sh -c 'echo "[keyfile]

unmanaged-devices+=interface-name:wlan1" > /etc/NetworkManager/conf.d/10-no-wlan1.conf ’

sudo service NetworkManager restart

To prevent network manager from crashing the wifi connection by scanning wlan1. That problem may have been unique to my network, but it can’t really hurt if you don’t plan on using the wlan1 interface.

For what it’s worth, the camera and network manager problem affected the sparkfun image also.

  1. Apply sparkfun files to the docker container:

Once you get that up and running the docker images will be working, but there are still a couple of fixes you need.

The jupyter container needs:

pip3 install sparkfun-qwiic

cp robot.py /usr/local/lib/python3.6/dist-packages/jetbot-0.4.1-py3.6.egg/jetbot/robot.py

cp motor.py /usr/local/lib/python3.6/dist-packages/jetbot-0.4.1-py3.6.egg/jetbot/motor.py

where robot.py and motor.py come from the sparkfun image (or the zip file on the product page).

You must copy while inside the container or you will be a sad, confused hacker. It works OK if you launch a terminal from the jupyter server.

(You can also copy the files to the host image, but you can’t really run much from there as a lot of the jupyter stuff is only in the container)

  1. Mess around with docker (optional)

You also need stats.py for the display container to get the oled working, but you need to access the separate display docker image to do that. That’s a bit more involved, I’m not going to go into that, but it’s easy if you are familiar with docker.

If you want to get fancy you can create your own docker image with the mods above on to of the exiting one. This is useful in case you want or need to restart the docker image. If you don’t create your own docker image you’ll need to re-apply the fixes when you enable/disable the docker images using the enable.sh disable.sh scripts inside the jetbot github area. On the other hand, as long as you don’t restart the docker container, the fixes will still be there (even after crash/reboot). I figured out how to do it, but I had to do a bit of reading to figure it out.

BTW,

Another way to accomplish this is to use the included github work area and build your own docker containers with the sparkfun files updated. I think this is what some of the NVIDA folks suggest. I don’t recommend this. It takes forever, uses a huge amount of disk space and seems to run into some node.js dependency. This is a lot of work to update two or three files and install a package.

Hi, for the below suggestion:

You also need stats.py for the display container to get the oled working, but you need to access the separate display docker image to do that. That’s a bit more involved, I’m not going to go into that, but it’s easy if you are familiar with docker.

My Jetbot kit is older version KIT-15365. I am trying out the image “jetbot-043_nano-4gb-jp45.zip”. I copied stats.py to the display container, when I restarted the display container, it just reboot itself every few seconds, will it compatible with this jetpack 4.5? The robot.py and motor.py works fine. Any suggestion is appreaciated. Thanks!

Solved the issue, I just need to do the same operation in display container. Thanks for the hint!

pip3 install sparkfun-qwiic

cp robot.py /usr/local/lib/python3.6/dist-packages/jetbot-0.4.1-py3.6.egg/jetbot/robot.py

cp motor.py /usr/local/lib/python3.6/dist-packages/jetbot-0.4.1-py3.6.egg/jetbot/motor.py

cp stats.py /usr/local/lib/python3.6/dist-packages/jetbot-0.4.1-py3.6.egg/jetbot/apps/stats.py