Link Search Menu Expand Document

VOXL 2 (QRB5165) System Image

Table of contents

  1. Summary
    1. What is it?
    2. How to Install
  2. USB Cable Types
    1. Video
  3. Force VOXL 2 into Fastboot
    1. Overview
    2. Video
    3. Procedure
  4. Missing ADB?
  5. CHANGELOG
    1. 1.6.3 (in planning)
    2. 1.6.2 (beta)
    3. 1.6.1 (beta)
    4. 1.5.5 (Platform Release 0.9.5)
    5. 1.5.4 (internal)
    6. 1.5.3 (internal)
    7. 1.4.1 (Platform Release 0.9)
    8. 1.3.1 Date:
    9. 1.2.3
    10. 1.2.2
    11. 1.2.1
    12. 1.2.0
    13. 1.1.4
    14. 1.1.3
    15. 1.1.2

Summary

What is it?

The system image is essentially “the operating system”, and consists of the kernel, root file system, and various firmwares for the plentiful amount of processors on board to name a few items.

It is included in and installed by the Platform Release. To see how to install the Platform Release, please see here

How to Install

USB Cable Types

It is recommended to use a USBC to USBA cable.

We have seen issues with USBC to USBC cables on some host machines.

Video

Force VOXL 2 into Fastboot

Overview

This procedure is for use if the normal update procedure above is not working.

Video

Procedure

  • Unplug VOXL 2 from power
  • Unplug VOXL 2 from USBC
  • Using something soft like a BBQ skewer or toothpick, press and hold the momentary button SW1 down, as shown in this image:

m0054-fastboot

  • While holding SW1 down, power on VOXL 2
  • Keep holding SW1 down for about 5 seconds and then let go
  • Attach VOXL 2 to USBC connected to host computer
  • Run the fastboot devices command and verify the device is showing up
❯ fastboot devices
f8bb8d44	fastboot
  • Now, you should be able to proceed with the ./install.sh command from the Platform Release zip file.

Missing ADB?

Install the Android Debug Bridge (ADB):

me@mylaptop:~$ sudo apt install android-tools-adb android-tools-fastboot

ModalAI Top Tip: to run ADB without root on the host PC, create a file called /etc/udev/rules.d/51-android.rules containing this udev rule on the host computer:

me@mylaptop:~$ sudo su
root@mylaptop:/home/me# echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="901d", MODE="0660", GROUP="plugdev", SYMLINK+="voxl%n"' > /etc/udev/rules.d/51-android.rules
root@mylaptop:/home/me# echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0660", GROUP="plugdev", SYMLINK+="voxl-fastboot%n"' >> /etc/udev/rules.d/51-android.rules
root@mylaptop:/home/me# udevadm control --reload-rules && udevadm trigger

CHANGELOG

1.6.3 (in planning)

Camera:

  • ship imx335 binaries

1.6.2 (beta)

BSP:

  • now using refactored meta-voxl2-bsp supporting M0054/M0104

1.6.1 (beta)

BSP:

  • VOXL2 Mini (M0104)
    • add initial support

Camera:

  • use /usr/share/modalai/chi-cdk to ship camera sensormodule binaries

HLOS

  • add 8821cu.ko
  • update libfc_sensor 1.0.2 to 1.0.4

NHLOS

  • ModalAI SLPI upgraded to 1.1-7

1.5.5 (Platform Release 0.9.5)

SDK Version: 0.9.5 Release Date: 2023-03-30 Build Date: 2023-03-22

Camera

  • update IMX678 config:
    • 3840x2160@30 - use 4 lane mode at 891 Mbps
    • 1920x1080@30 - use 4 lane mode at 720 Mbps
    • enable more camera configs (see here)
  • revert defaultFpsMax backend flag (use case selection is broken when enabled)

1.5.4 (internal)

Build Date: 2023-02-16

HLOS

  • Increase SLPI memory
  • Install voxl-esc python depends (pip3,pyserial,numpy)
  • add nano

NHLOS

  • ModalAI SLPI upgraded to 1.1-6
  • Increase SLPI memory
  • Added 420k baud rate UART for SLPI (native ELRS baud rate)

1.5.3 (internal)

Build Date: 2023-02-03

BSP (See Linux User Guide for details)

  • VOXL2 (M0054)
    • configure GPIO 152 as output, default high, on J5 pin 44 for M0130 (along with GPIO 153, 154, 155 while at it)
    • configure SE1 for I2C /dev/i2c-4 J7 (camera group 1)
    • enable new GPIO 110/114 pins on J6
    • enable new GPIO 6/7 pins on J7
    • enable new GPIO 12/13 pins on J8
    • enable SE2 (I2C) on J5 pins 8,9 as /dev/i2c-0
    • enable SE11 (SPI) on J5 pin 53,56 as /dev/spidev11.0
    • update TZ to devcfg ver8

Camera

  • Added IMX678 Support (M0054-J8, HW sensor ID 4/5 (addresses 0x34/0x20))
    • 1920 x 1080 @ 30 FPS
    • 3840 x 2160 @ 30 FPS
  • ov7251 60/90/120 FPS configs added as dormant (need to add camx propper support)

HLOS

  • Added service file that changes SLPI restart level to avoid board crash when SLPI crashes

NHLOS

  • ModalAI SLPI upgraded to 1.1-4

1.4.1 (Platform Release 0.9)

Date: 2022-11-11

Ubuntu:

  • add i2c-tools
  • Journalctl system max use limit now set to 1000M

Camera:

  • Add A65 TOF Module (irs10x0c sensor) support on all 6 camera interfaces
  • ov7251 drivers are now 8-bit

XBL (secondary bootloader):

  • Fix occasional error showing “battery’s capacity is very low” during flashing

NHLOS:

  • ModalAI SLPI upgraded to 1.1-2

Flashing Script:

  • Made system image flash script compatible with bash 4 and older versions

1.3.1 Date:

Date: 2022-08-11

Meta:

  • Included missing fastrpc binaries for adsp and cdsp in dspso partition

Camera:

  • Update IMX214 drivers to support other resolutions other than 640x480
  • Added ALPHA LEVEL support for 5 concurrent ov9782 (needs tuning)

BSP

  • M0054/M0052 - enable 2W UART on J3 pins 3/5 (legacy B2B) for apps proc usage
  • M0052 - breaking change: change qup5 from SPI to UART. This is exposed on J8. Now /dev/spidev5.0 is gone.
  • M0054 Mappings are as follows:
    • /dev/ttyHS0 - J8 Camera Connector
    • /dev/ttyHS1 - J3 B2B pins 3/5
    • /dev/ttyHS2 - J5 HS B2B pins 48/49
  • M0052 Mappings are as follows:
    • /dev/ttyHS0 - internal SOM WiFi
    • /dev/ttyHS1 - J2 RC input for PX4
    • /dev/ttyHS2 - J19 GNSS input for PX4
    • /dev/ttyHS3 - J8 Camera Connector
    • /dev/ttyHS4 - J3 B2B pins 3/5
    • /dev/ttyHS5 - J5 HS B2B pins 48/49

Trustzone:

  • M0054, version 6: update devcfg for UART on qup7 (md5sum: 3698389194c899953c4e337a7b48cb97)
  • M0052, version 6: update devcfg for UART on qup7 (md5sum: cf613de37db6e7d2bb245f4d17cab79e)

1.2.3

(Internal release only)

Ubuntu:

  • added jq pciutils aircrack-ng packages

Kernel:

  • add dormant 88XXau_wfb.ko driver at /etc/ Users who choose to use it can install it manually and use voxl-wifi-broadcast
  • regulatory domain tweaks to support wifibroadcast options
  • Update spidev buffer size to 16K

1.2.2

(Internal release only)

Changes:

  • System:
    • Bash environment executed during ssh session start
    • ModalAI partitions now include MACHINE type prefix
    • ModalAI SLPI 1.1-0 now flashed in system image via DSP and Firmware partitions
  • Kernel
    • fix for hal3 timestamp drift error
    • enable LAN95XX driver
  • chi-cdk
    • ov9782: add front/rear and tracking support
    • ov7251: fix for missing gain in hal3 metadata

1.2.1

Date: 2022-04-18

Changes:

  • ROS sources and key included in root filesystem
  • XBL now flashed during system image install
  • Binaries can now be executed in the data partition

1.2.0

Date: 2022-04-15

Changes:

  • Update chi-cdk - ov7251 FSYNC registers from mm-camera
  • Add rndis host driver to kernel
  • Enable SPI
    • /dev/spidev3.0 - internal IMU
    • /dev/spidev14.0 - external SPI
    • /dev/spidev0.0, /dev/spidev1.0, and /dev/spidev5.0 - camera groups 0, 1 and 2
  • Updated device’s HLOS partitions
    • Updated userdata ( /data ) partition to 64GB
    • Added 64KB modalai_conf ( /etc/modalai ) partition
    • Added 64KB modalai_cal ( /data/modalai ) partition
    • Reduced system ( / ) partition to 47.875GB
  • System image flash
    • devcfg.mbn is now flashed during system image flash
    • NHLOS is now flashed during system image flash
    • LUN0 GPT can be flashed during system image flash
  • System image root filesystem additions
    • Px4-support and libfc now included in rootfs
    • ModalAI metabuild info now in /firmware/verinfo/ver_info.txt
    • Remove /etc/voxl-platform-info.json meta file creation, ModalAI metabuild info includes this information now
    • Removed old incompatible tdk binaries
    • Added Stable ModalAI sources list, library search paths, and qrb5165-bind to root filesystem
    • Included docker sources list and key

1.1.4

Date: 2022-03-09

Changes:

  • add rtl8188eus driver for tp-link support
  • remove all opencv 3.2 packages
  • apt autoremove and clean removing 400MB! of cached debs
  • permit root ssh login
  • add platform_name file for bash formatting
  • remove ldconfig crying about wayland sink not a symlink

1.1.3

Date: 2022-02-18

Changes:

  • Modified mv-voxl 32-bit shared object files permissions as they were set incorrectly
  • Added /etc/voxl-platform-info.json file which includes build and platform metadata

1.1.2

Date: 2022-02-09

Changes:

  • Initial Release

Next: VOXL 2 Linux Guide