I recently purchased a J90 carrier board. I’ve been using the TX2 with the NVIDIA developer kit so far.
How can I use it with the J90 board? I’ve downloaded the firmware version 1.6 from here: https://auvidea.com/firmware/, but there aren’t any clear instructions on how to use it.
I’m new to development with the Jetson, and sort of lost on how to proceed. Will I have to format all my current data on the Tx2 if I want to use it with a different board (J90)? Or is it just a firmware patch which I add to the current one?
I found the instructions in the firmware zip file. Pasting it here in case anyone else has trouble finding it.
This file explains the installation of the auvidea kernel and dtbs via Jetpack 3.2
NOTE: please replace ~ with the path to the folder
Backup following files from the Jetpack folder
Use the following commands to copy the necessary files into the Jetpack folder
cp ~/auvidea_TX2_Jetpack/dtb/* ~/Jetpack_3.2/64_TX2/Linux_for_Tegra_tx2/kernel/dtb/
cp ~/auvidea_TX2_Jetpack/packages/* ~/Jetpack_3.2/64_TX2/Linux_for_Tegra_tx2/kernel/
cp ~/auvidea_TX2_Jetpack/p2771-0000.conf.common ~/Jetpack_3.2/64_TX2/Linux_for_Tegra_tx2/
cp ~/auvidea_TX2_Jetpack/Image ~/Jetpack_3.2/64_TX2/Linux_for_Tegra_tx2/kernel/
cp ~/auvidea_TX2_Jetpack/zImage ~/Jetpack_3.2/64_TX2/Linux_for_Tegra_tx2/kernel/
Apply changes and flash the TX2
Follow the instruction and of the installation
Select Development Environment
-> Jetson TX2
when the Jetpack L4T Component Manager opens
-> press “Clear Actions”-Button in the right corner
-> chose “Flash OS Image to Target” under “Target-Jetson TX2” by clicking on “no action” and change it to “install 28.1.0”
-> under “Install on Target” choose the packages like needed, for example “Multimedia API package” if gstreamer is needed
-> when finished press “Next”
-> Accept all
-> follow the instructions until a console window opens
-> follow the instructions in the console(bring the TX2 into recovery mode) and press “ENTER”
-> wait until the flash process has finished and you are prompted to close the console window
-> close the console window and follow the menus in the Jetpack window until it closes.
Using IMU on TX2
TX1 is using spidev3.0 for the IMU.
TX2 is using spidev1.0 for the IMU.
Change SPI device in RTIMULibDemoGL for TX2:
found in QT creator project at
Change line 53 and 54 in file “RTIMUHal.cpp” from
m_SPIBus = 3;
m_SPISelect = 0;
m_SPIBus = 1;
m_SPISelect = 0;
Change line 78 in file “RTIMUHal.cpp” from
sprintf(buf, “/dev/spidev%d.%d”, m_SPIBus, m_SPISelect);
Using native CAN on TX2
load kernel modules for CAN:
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
set up CAN interface:
sudo ip link set up can0 type can bitrate 1000000
load modules at startup
- open the file /etc/modules with a text editor(for example vi, nano or gedit)
- add the kernel modules below the exiting ones(only one per
- It seems that one of the used kernel modules creates two interfaces, which will show up in the Network manager of the Linux system as not managed Ethernet devices. This bug has only be see with Jetpack 3.2. We are currently trying to find out which module cause this and if it can by removed. A similar bug is described here:https://askubuntu.com/questions/828850/device-not-managed-after-upgrade-to-ubuntu-16
However, these instructions are still for Jetpack 3.2. I will try it with 3.3 and update.
Did you succeed in using J90 / Jetson TX2 on a CAN network?
I believe I configured Linux correctly, but I’m not sure if I configured the CAN transceiver correctly. Could you send me the circuit you used to connect the CAN plug of J90 to the CAN network?
Sorry for the late response, but we didn’t try the CAN network. What I pasted above was copied from the Auvidea documentation for the J90.