Auvidea make some pretty cool carrier boards for the Nvidia Jetson series of computers. The J130 is particularly powerful for machine vision applications due to the 5 USB3 ports available. I recently got my hands on one from mouser in addition to a Nvidia Jetson TX2i module and ran into some issues initially. These included:
- None of the USB ports worked, most likely because no power was available via them. I did some reading (I forgot to keep the sources), and it was most likely due to pin assignments on the carrier board not making power available on the USB ports.
- The carrier board is spec’d to work with Jetpack 4.3, which isn’t even available via the Nvidia SDK manager anymore (even if you do run it using the –archivedversions command)
- You are expected to do some make some changes to some of the jetpack package, most likely to update pin assignments to get various things on the carrier board working.
After figuring out how to get things working, I also realised Nvidia SDK manager is a pretty big time-sink, and that it is actually pretty easy to flash the Jetsons via the command line. So here is what I did to get the Nvidia Jetson TX2 working with the Auvidea J130 Carrier Board.
- I was running Ubuntu 16.04.7 LTS in VMware Workstation 17 with Nvidia SDK Manager installed (although maybe it did not need to be, I am not sure).
- Download the archived version of Jetpack 4.3 from here. Specifically you want to download the L4T Driver Package (BSP) and the Sample Root Filesystem.
- Extract the files from both of them by doing the following:
sudo tar xpf Tegra186_Linux_R32.3.1_aarch64.tbz2
sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_R32.3.1_aarch64.tbz2
- Download the Auvidea J130 Firmware from here. Just search for the latest version of the J130 firmware. The download link (use at your own risk) I used was https://auvidea.eu/download/firmware/J120/J90-J120-J130_4_3.tar.bz2
- Now apply this patch by doing the following:
tar -xvf J90-J120-J130_4_3.tar.bz2
sudo tar -xvf J90-J120-J130_4_3/kernel_out.tar.bz2
# Where Linux_for_Tegra/ is the directory created by extracting the Tegra186_Linux_R32.3.1_aarch64.tbz2 tarball
# This overwrites various files and applies required patches
cp -r J90-J120-J130_4_3/Linux_for_Tegra/* Linux_for_Tegra/
cd Linux_for_Tegra
# This will take a while and does whatever needs to be done to get everything ready for flashing
sudo ./apply_binaries.sh
- Now we can flash the jetson. Make sure the Jetson is connected via USB to the correct port (see below picture) and in recovery mode (while not on, hold the force button for a couple of seconds, then hold the power on button for a couple of seconds, then let go of both). Make sure VMWare has control of the USB port in question (figure this out yourself). Then run the following command
sudo ./flash jetson-tx2 mmcblk0p1
- This should take a while and if it did not work, you have messed up somewhere.