AirStack Imaging

This procedure is used to flash the AirStack software suite (Jetson Image) on the AIR-T. This image contains both the underlying operating system for the Jetson module as well as drivers and board support for the hardware interfaces present on the AIR-T. Flashing an AirStack image will restore your AIR-T's software to factory settings and delete all user data.

If you do not want to erase the contents of your AIR-T and just want to update an existing installation of AirStack, instead see the process for an AirStack Upgrade.

Prerequisites

To flash the AIR-T you will need:

  • An x86 host machine running Linux - We test our procedures using Ubuntu 18.04 LTS, although Ubuntu 16.04 and later will work, as will many other Linux distributions.
  • An AIR-T
  • Keyboard, mouse, and monitor plugged into the AIR-T
  • USB micro cable
  • Airstack software downloaded from the Developer Portal at www.deepwavedigital.com

Important Compatibility Note

Using the AirStack flashing utilities on the requires that /usr/bin/python on the host machine (the system performing the flashing procedure) points to Python 2.7. Please see the below listing of required packages for supported Ubuntu versions.

Ubuntu Version Additional Required Packages Install Command
16.04 None -
18.04 python2.7, python-minimal sudo apt-get install python2.7 python-minimal
20.04 python2, python-is-python sudo apt-get install python2 python-is-python2

Other Linux distributions have similar packaging configurations; For these, consult your system administrator to make sure the flashing computer is configured correctly.

Additionally, many developers use Anaconda for python development. Having a conda environment active may also prevent the flash utilities from executing correctly. If you run into this issue, a simple conda deactivate in your terminal before executing the installation procedure will disable conda and allow the flash utilities to run.

If python2.7 is not available on your host computer, you'll see errors similar to the following when executing Step #7 of the AirStack Installation Procedure:

[    0.043 ] /usr/bin/env: 'python': No such file or directory

AirStack Installation Procedure

NOTE: FLASHING THE AIR-T WILL ERASE EVERYTHING ON THE OPERATING SYSTEM. MAKE SURE THAT YOU HAVE A GOOD BACKUP OF ANYTHING YOU NEED PRIOR TO PERFORMING THIS PROCEDURE

The AirStack image is flashed using the NVIDIA tools with a custom OS image and AIR-T drivers. Follow these steps to flash the AIR-T software:

1. Install the Prerequisites (see above) on the host computer.

2. Make sure that you have a proper backup of any personal code or files from the AIR-T.

3. As shown in Figure 1, connect the micro USB port (J20) from the AIR-T to the Linux host. If the AIR-T is in its enclosure, connect the micro USB cable to the port labeled USB on the back.

4. Boot the AIR-T into recovery mode. See the section below for instructions.

5. On the Linux host, open a terminal by entering ctrl + shift + T on the keyboard.

6. Go to the directory in which AirStack was downloaded. For example, if the software was downloaded to your Downloads folder, enter the following commands in a command shell:

cd ~/Downloads
tar -xzvf deepwave_airstack_software_vX.X.X.tgz
cd deepwave_airstack_software

7. Flash the AIR-T with AirStack by entering the following command:

airt_flash/scripts/flash-systemimg.py -b ./Linux_for_Tegra \
    --dtb ./airstack_v0.2-tx2.dtb

The procedure can take up to 15 minutes depending on the speed of your host. The AIR-T will automatically boot once the procedure is complete.

8. When the AIR-T boots, you will be prompted to create a user on the AIR-T. Follow the on-screen instructions and the AIR-T will reboot once this step has completed.

9. Flash the firmware. If not already done, the AIR-T must have the corresponding version of the AirStack firmware installed on the FPGA. Note that flashing the AirStack OS does not install the new FPGA firmware, however we do include the new firmware image under lib/firmware in AirStack on the freshly imaged AIR-T. The installation instructions may be found in the Firmware Flash Procedure section of the Deepwave documentation.


Figure 1: Image of the AIR-T and the relevant interfaces highlighted.


Placing the AIR-T Into Recovery Mode

To place the AIR-T into recovery mode, follow this procedure. Note that you must be in a fresh recovery mode to flash the AIR-T (before each time the flash command is executed, the system must be power cycled into recovery mode).

Using Software Utility (AirStack v0.3+ only)

AirStack 0.3 and later contain a small software executable, reboot_to_recovery, that functions like the normal reboot command from a terminal but directs the AIR-T to enter recovery mode on next system boot.

Enter the following command in a terminal window on the AIR-T:

$ reboot_to_recovery

Note that when the micro-USB is connected from the AIR-T to the host computer, the USB cable will function as a network connection with the following IP addresses:

System IP Address
Linux host 192.168.55.100
AIR-T 192.168.55.1

the AIR-T will may be logged in to via ssh from the Linux host.

Administrative permissions are required to execute the reboot_to_recovery command, so a normal user will need to run sudo reboot_to_recovery. The board will immediately reboot and come up in recovery mode.

Next, verify that the device is in recovery mode and communicating with your computer. On the host, open a terminal and type lsusb, which should show a device with a description of "NVidia Corp." Here is an example:

$ lsusb
Bus 003 Device 013: ID 0955:7c18 NVidia Corp.

Using Hardware Buttons (all versions)

An AIR-T can always be placed into recovery mode by using a set of buttons on the board itself. This allows you to recover the unit even if the operating system has been completely wiped.

1. If the AIR-T is in its enclosure, remove the the cover to get access to the top of the board. Look for the three large red buttons on the board labeled (from left to right) RST, PWR, and REC.

2. Press the PWR button to start the system.

3. Press and hold the REC button.

4. While continuing to hold the REC button, press and release the RST button.

5. Release the REC button after 2 seconds.

6. On the host, verify that the device is in recovery mode and communicating with your computer. Open a terminal and type lsusb, which should show a device with a description of "NVidia Corp." Here is an example for the AIR7101:

$ lsusb
Bus 003 Device 013: ID 0955:7c18 NVidia Corp.

Last update: October 6, 2020