Custom voxl-camera-server config service aborts itself
-
Hardware: (board / drone / SKU, serial # if you have it)
VOXL2 (Custom drone)Software version: (paste the output of
voxl-version)dpkg-query: package 'voxl-suite' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. -------------------------------------------------------------------------------- system-image: 1.8.02-M0054-14.1a-perf kernel: #1 SMP PREEMPT Mon Nov 11 22:47:44 UTC 2024 4.19.125 -------------------------------------------------------------------------------- hw platform: M0054 mach.var: 1.0.1 -------------------------------------------------------------------------------- voxl-suite: -------------------------------------------------------------------------------- Packages: Repo: http://voxl-packages.modalai.com/ qrb5165 sdk-1.6 Last Updated: 2026-09-08 20:00:54 List: kernel-module-voxl-fsync-mod-4.19.125 1.0-r0 kernel-module-voxl-gpio-mod-4.19.125 1.0-r0 kernel-module-voxl-platform-mod-4.19.125 1.0-r0 libfc-sensor 1.0.12-202603311017 libmodal-cv 0.6.1 libmodal-exposure 0.1.5 libmodal-flow 1.0.5 libmodal-journal 0.2.7 libmodal-json 0.4.8 libmodal-pipe 2.14.12 libqrb5165-io 0.6.3 libvoxl-cci-direct 0.4.0 libvoxl-codec 0.1.1 libvoxl-cutils 0.1.6 modalai-slpi 1.2.3-202604071122 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-imu-server 1.2.4 qrb5165-mini-tof-server 0.2.2-apoorv qrb5165-rangefinder-server 0.1.6 qrb5165-slpi-test-sig 01-r0 qrb5165-system-tweaks 0.3.4 qrb5165-tflite 2.8.0-2 voxl-bind-spektrum 0.1.1 voxl-camera-calibration 0.6.2 voxl-camera-server 2.2.29 voxl-ceres-solver 2:2.0.0-3 voxl-configurator 1.1.35 voxl-cpu-monitor 0.7.7 voxl-docker-support 1.3.1 voxl-elrs 1.1.7 voxl-esc 1.6.3 voxl-esptool 0.2.1 voxl-fsync-mod 1.0-r0 voxl-gphoto2-server 0.0.10 voxl-gpio-mod 1.0-r0 voxl-io-server 0.1.3 voxl-jpeg-turbo 2.1.3-7 voxl-lepton-server 1.4.1 voxl-libgeographic 1.0.0 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.6.5-202607281100 voxl-mapper 0.2.4 voxl-mavcam-manager 0.6.1 voxl-mavlink 0.1.6 voxl-mavlink-server 1.4.16 voxl-microdds-agent 3.0.0-0 voxl-modem 1.2.5 voxl-mongoose 7.19.0-1 voxl-mpa-to-ros2 0.0.7-202511100959 voxl-mpa-tools 1.5.8 voxl-nlopt 2.5.0-5 voxl-open-vins-server 0.6.2 voxl-opencv 4.5.5-3 voxl-osd 0.4.12 voxl-platform-mod 1.0-r0 voxl-portal 0.9.4 voxl-px4 1.14.0-2.0.134 voxl-px4-imu-server 0.1.2 voxl-px4-params 0.9.15 voxl-remote-id 0.0.9 voxl-reset-slpi 0.0.4-202603311011 voxl-ros2-foxy 0.0.1-202511141235 voxl-streamer 0.8.1 voxl-tag-detector 0.1.0-custom voxl-tflite-server 0.5.1 voxl-utils 1.4.4 voxl-uvc-server 0.1.8 voxl-vision-hub 1.9.21 voxl-voxblox 1.1.5 voxl-vtx 2.2.42 voxl2-io 0.0.3 voxl2-system-image 1.8.02-r0 voxl2-wlan 1.0-r0 --------------------------------------------------------------------------------Configuration / services: (paste the output of
voxl-inspect-services)voxl2:~$ voxl-inspect-services Scanning services... Service Name | Enabled | Running | CPU Usage ------------------------------------------------------------------- docker-autorun | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-camera-server | Enabled | Not Running | voxl-cpu-monitor | Enabled | Running | 1.2% voxl-dfs-server | Disabled | Not Running | voxl-imu-server | Enabled | Running | 3.1% voxl-io-server | Disabled | Not Running | voxl-lepton-server | Disabled | Not Running | voxl-logger-auto | Disabled | Not Running | voxl-logger | Disabled | Not Running | voxl-mapper | Disabled | Not Running | voxl-mavcam-manager | Disabled | Not Running | voxl-mavlink-server | Enabled | Running | 3.1% voxl-microdds-agent | Enabled | Running | 6.5% voxl-mini-tof-server | Disabled | Not Running | voxl-modem-doodle | Disabled | Not Running | voxl-modem | Disabled | Not Running | voxl-mpa-to-ros2 | Enabled | Running | 0.0% voxl-open-vins-server | Disabled | Not Running | voxl-osd | Disabled | Not Running | voxl-portal | Enabled | Running | 0.1% voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Enabled | Running | 44.4% voxl-rangefinder-server | Disabled | Not Running | voxl-remote-id | Disabled | Not Running | voxl-softap | Disabled | Not Running | voxl-static-ip | Disabled | Not Running | voxl-streamer | Enabled | Running | 0.0% voxl-tag-detector | Enabled | Running | 0.0% voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-uvc-server | Disabled | Not Running | voxl-vision-hub | Enabled | Running | 2.2% voxl-vrx | Disabled | Not Running | voxl-vtx | Disabled | Not Running | voxl-wait-for-fs | Enabled | Completed |What I am trying to do:
Run a tracking down and tracking front cameraWhat actually happens: (error messages, behavior)
When running voxl-camera-server, the service just aborts, log below:voxl2:~$ voxl-camera-server Setting MISP AWB to Auto MISP channels enabled in defaults : 0 MISP channels enabled in config file: 0 Setting MISP AWB to Auto MISP channels enabled in defaults : 0 MISP channels enabled in config file: 0 ================================================================= configuration for 2 cameras: cam #0 name: tracking_front type: ar0144 bayer_type: 0 enabled: 1 camera_id: 0 camera_id_second: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 en_raw_preview: 1 preview_width: 1280 preview_height: 800 en_misp: 1 misp_width: 1280 misp_height: 800 demosaic: auto en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 12000 gain_min : 54 gain_max : 8000 standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: tracking_down type: ar0144 bayer_type: 0 enabled: 1 camera_id: 1 camera_id_second: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 en_raw_preview: 1 preview_width: 1280 preview_height: 800 en_misp: 1 misp_width: 1280 misp_height: 800 demosaic: auto en_small_video: 0 small_video_width: -1 small_video_height: -1 en_large_video: 0 large_video_width: -1 large_video_height: -1 en_snapshot: 0 snap_width: -1 snap_height: -1 exif_focal_length: 0.000000 exif_focal_len_35mm_format:0 exif_fnumber: 0.000000 ae_mode: lme_msv msv_exposure_min_us: 20 msv_exposure_max_us: 12000 gain_min : 54 gain_max : 8000 standby_enabled: 0 decimator: 1 independent_exposure:0 fsync_en: 0 fsync_gpio: 109 ================================================================= Cam idx: 0, Cam slot: 1, Slave Address: 0x0030, Sensor Id: 0x0356 Cam idx: 1, Cam slot: 6, Slave Address: 0x0030, Sensor Id: 0x0356 thread is locked to cores: 4 5 6 7 connected to mavlink pipe Connected to cpu-monitor Starting Camera: tracking_front (id #0) ModalExposureMSV: initializing for camera name tracking_front type ar0144 gbm_create_device(156): Info: backend name is: msm_drm MISP Initializing for camera tracking_front Detected 1 platform(s) Detected 1 GPU device(s) Estimated imu dt = 0.000977s ERROR in json_from_yaml, failed to open file MISP: Loading intrinsics cal file tracking_front_intrinsics.yml for camera tracking_front, ret -1 WARNING: Lens calibration for camera tracking_front is missing (tracking_front_intrinsics.yml). Using defaults: Creating VOXL Video Encoder: 1280x800 H265, CH_OUT: -1776841196, numInputBufs: 16 gbm_create_device(156): Info: backend name is: msm_drm WARNING: OMX SetTargetBitrate: H265 CBR requires bps >= 3.0Mbit (1200000 bps provided). Using FPS hack. scale = 2.500000 Starting Camera: tracking_down (id #1) ModalExposureMSV: initializing for camera name tracking_down type ar0144 MISP Initializing for camera tracking_down ERROR in json_from_yaml, failed to open file MISP: Loading intrinsics cal file tracking_down_intrinsics.yml for camera tracking_down, ret -1 WARNING: Lens calibration for camera tracking_down is missing (tracking_down_intrinsics.yml). Using defaults: Creating VOXL Video Encoder: 1280x800 H265, CH_OUT: -1759368012, numInputBufs: 16 gbm_create_device(156): Info: backend name is: msm_drm WARNING: OMX SetTargetBitrate: H265 CBR requires bps >= 3.0Mbit (1200000 bps provided). Using FPS hack. scale = 2.500000 ------ voxl-camera-server: Started 2 of 2 cameras ------ voxl-camera-server: Camera server is now running AbortedThe last
Abortedcomes after a couple of secondsWhat is interesting to note, is that the camera server start working after a couple of
systemctl restart voxl-camera-servercommands, both the tracking down and tracking front camera feeds show up invoxl-portalSteps to reproduce:
Heres how my/data/modalai/custom_acmera_config.txtis defined:#!/bin/bash ################################################################################ # # This file allows setting of custom camera configurations by defining what # sensors are plugged into which port. # # There is no guarantee that any arbitrary configuration will work. Only the # predefined camera configs at https://docs.modalai.com/voxl2-camera-configs/ # are supported. # # each slot can be one of the following sensors: # # pmd-tof # pmd-tof-liow2 # ov7251 # ov7251-combo # ov9782 # ov9782-combo # ar0144 # ar0144-fsin (for use with m0173 and Starling 2 only) # ar0144-fsin-combo (for use with m0173 and Starling 2 only) # ar0144-12bit # ar0144-12bit-fsin (for use with m0173 and Starling 2 only) # ar0144-12bit-fsin-combo (for use with m0173 and Starling 2 only) # imx214 # imx412 # imx412-fpv (low latency mode) # imx678 # # # When using a combo mode pair, you must also add a JX_COMBO_MODE field which # specifies is the pair is to be set up as either a stereo pair ordered # left-right, right-left, or treated as two independent cameras. If you are # using a combo-mode flex but only physically connect one of the two cameras # then select "single" it does not matter which one you connect. # # For example: # J6_LOWER_COMBO_MODE="left-right" # J6_LOWER_COMBO_MODE="right-left" # J6_LOWER_COMBO_MODE="independent" # J6_LOWER_COMBO_MODE="single" # # when running "independent" combo mode, also add a NAME2 field for the second cam # e.g J6_LOWER_NAME2="tracking_rear" # # for all sensors except TOF, you can specify a "rotate" flag to # rotate the image 180 degrees e.g. J6_LOWER_ROTATE="true" or "false" # for stereo pairs (e.g. ov7251 combo or ar0144-slave-strereo) you can specify # "rotate-first-only" or "rotate-second-only" to only rotate one, other wise # when setting the rotate option to "true" both will be rotated. # # # Once configured, this file should live in /data/modalai/custom_camera-config.txt # then run voxl-configure-cameras custom to load it in # # # cp /usr/share/modalai/voxl-camera-server/custom_camera_config.txt /data/modalai/ # # We also suggest changing your /data/modalai/sku.txt file to have a camera # config term "CC" such as MRB-D0005-4-V2-CC ################################################################################ J6_LOWER_SENSOR="" J6_LOWER_NAME="" J6_LOWER_ROTATE="false" J6_UPPER_SENSOR="ar0144" J6_UPPER_NAME="tracking_front" J6_UPPER_ROTATE="false" J6_LOWER_COMBO1_SENSOR="ar0144-fsin-combo" J6_LOWER_COMBO1_NAME="tracking_down" J6_LOWER_COMBO1_ROTATE="false" J7_LOWER_SENSOR="" J7_LOWER_NAME="" J7_LOWER_ROTATE="false" J7_UPPER_SENSOR="" J7_UPPER_NAME="" J7_UPPER_ROTATE="false" J8_LOWER_SENSOR="" J8_LOWER_NAME="" J8_LOWER_ROTATE="false" J8_UPPER_SENSOR="" J8_UPPER_NAME="" J8_UPPER_ROTATE="false"Logs / pictures: (attach files; PX4 logs -> https://logs.px4.io)
Heres how the
voxl-camera-server.confis defined:/** * voxl-camera-server Configuration File * * Each camera has configurations for up to 4 HAL3 streams: * - `preview` stream for raw unprocessed images from CV cameras * - `small_video` 720p (ish) h264/h265 compressed for fpv video streaming * - `large_video` 4k (ish) h264/h265 for onboard video recording to disk * - `snapshot` ISP-processed JPG snapshots that get saved to disk * * on QRB5165 platforms (VOXL2 and VOXL2 mini) you can only have 3 of the 4 enabled * * This file is generated from default values by voxl-configure-cameras. * Do not expect arbitrary resolutions to work, the ISP and video compression * pipelines only support very specific resolutions. * * The default video compression mode is cqp or Constant Quantization Parameter * * * */ { "version": 0.1, "fsync_en": false, "fsync_gpio": 109, "cameras": [{ "type": "ar0144", "name": "tracking_front", "enabled": true, "camera_id": 0, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 1280, "preview_height": 800, "en_raw_preview": true, "en_misp": true, "misp_width": 1280, "misp_height": 800, "misp_venc_enable": true, "misp_venc_mode": "h265", "misp_venc_br_ctrl": "cbr", "misp_venc_Qfixed": 38, "misp_venc_Qmin": 15, "misp_venc_Qmax": 50, "misp_venc_nPframes": 9, "misp_venc_irPeriod": 0, "misp_venc_irPeriodType": 1, "misp_venc_mbps": 1.2, "misp_awb": "auto", "misp_gamma": 1, "misp_zoom": 1, "demosaic": "auto", "ae_mode": "lme_msv", "gain_min": 54, "gain_max": 8000, "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 12000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.6, "ae_ignore_fraction": 0.2, "ae_slope": 0.05, "ae_exposure_period": 1, "ae_gain_period": 1 }, { "type": "ar0144", "name": "tracking_down", "enabled": true, "camera_id": 1, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 1280, "preview_height": 800, "en_raw_preview": true, "en_misp": true, "misp_width": 1280, "misp_height": 800, "misp_venc_enable": true, "misp_venc_mode": "h265", "misp_venc_br_ctrl": "cbr", "misp_venc_Qfixed": 38, "misp_venc_Qmin": 15, "misp_venc_Qmax": 50, "misp_venc_nPframes": 9, "misp_venc_irPeriod": 0, "misp_venc_irPeriodType": 1, "misp_venc_mbps": 1.2, "misp_awb": "auto", "misp_gamma": 1, "misp_zoom": 1, "demosaic": "auto", "ae_mode": "lme_msv", "gain_min": 54, "gain_max": 8000, "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 12000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.6, "ae_ignore_fraction": 0.2, "ae_slope": 0.05, "ae_exposure_period": 1, "ae_gain_period": 1 }] }
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login