VOXL 2 Mini Not Detecting Cameras
-
Hello, I'm attempting to bring up the VOXL 2 Mini for a project. I'm plugged in the hires and tracking cameras in as shown here:
https://docs.modalai.com/voxl2-mini-image-sensors/#mdk-m0104-1-c4---hires-trackingvoxl-version output is shown below.
voxl2-mini:~$ voxl-version -------------------------------------------------------------------------------- system-image: 1.7.1-M0104-14.1a-perf-nightly-20231025 kernel: #1 SMP PREEMPT Thu Oct 26 04:23:26 UTC 2023 4.19.125 -------------------------------------------------------------------------------- hw version: M0104 -------------------------------------------------------------------------------- voxl-suite: 1.1.1 -------------------------------------------------------------------------------- Packages: Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.1/binary-arm64/ Last Updated: 2023-03-02 12:58:41 WARNING: repo file has changed since last update, packages may have originated from a different repo List: libmodal-cv 0.4.0 libmodal-exposure 0.1.0 libmodal-journal 0.2.2 libmodal-json 0.4.3 libmodal-pipe 2.9.2 libqrb5165-io 0.4.2 libvoxl-cci-direct 0.2.1 libvoxl-cutils 0.1.1 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-imu-server 1.0.0 qrb5165-rangefinder-server 0.1.0 qrb5165-slpi-test-sig 01-r0 qrb5165-system-tweaks 0.2.3 qrb5165-tflite 2.8.0-2 voxl-bind-spektrum 0.1.0 voxl-camera-calibration 0.5.3 voxl-camera-server 1.8.7 voxl-configurator 0.4.5 voxl-cpu-monitor 0.4.7 voxl-docker-support 1.3.0 voxl-elrs 0.1.3 voxl-esc 1.3.6 voxl-feature-tracker 0.3.2 voxl-flow-server 0.3.3 voxl-gphoto2-server 0.0.10 voxl-jpeg-turbo 2.1.3-5 voxl-lepton-server 1.2.0 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.3.5 voxl-mavcam-manager 0.5.3 voxl-mavlink 0.1.1 voxl-mavlink-server 1.3.2 voxl-modem 1.0.8 voxl-mongoose 7.7.0-1 voxl-mpa-to-ros 0.3.7 voxl-mpa-tools 1.1.3 voxl-opencv 4.5.5-2 voxl-portal 0.6.2 voxl-px4 1.14.0-2.0.59 voxl-px4-imu-server 0.1.2 voxl-px4-params 0.3.2 voxl-qvio-server 1.0.0 voxl-remote-id 0.0.9 voxl-streamer 0.7.4 voxl-suite 1.1.1 voxl-tag-detector 0.0.4 voxl-tflite-server 0.3.1 voxl-utils 1.3.3 voxl-uvc-server 0.1.6 voxl-vision-hub 1.7.2 voxl2-system-image 1.7.1-r0 voxl2-wlan 1.0-r0 --------------------------------------------------------------------------------
Services shown here:
voxl2-mini:~$ 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 | 0.1% voxl-dfs-server | Disabled | Not Running | voxl-feature-tracker | Disabled | Not Running | voxl-flow-server | Disabled | Not Running | voxl-imu-server | Enabled | Running | 0.0% voxl-lepton-server | Disabled | Not Running | voxl-mavcam-manager | Disabled | Not Running | voxl-mavlink-server | Enabled | Running | 0.4% voxl-modem | Disabled | Not Running | voxl-portal | Enabled | Running | 0.2% voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Disabled | Not Running | voxl-qvio-server | Disabled | Not Running | 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 | Disabled | Not Running | voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-uvc-server | Disabled | Not Running | voxl-vision-hub | Enabled | Running | 0.9% voxl-wait-for-fs | Enabled | Completed |
Before running the camera server I used:
voxl-configure-cameras 4 Camera Configuration: 4 camera server config helper list: tracking:ov7251:0: hires:imx214:1: driver binary list: /usr/share/modalai/chi-cdk/ov7251/com.qti.sensormodule.ov7251_2.bin /usr/share/modalai/chi-cdk/imx214/com.qti.sensormodule.imx214_3.bin calling camera-server-config-helper tracking:ov7251:0: hires:imx214:1: detected system image 1.7.1 using new imx214 defaults successfully wrote this camera config to disk: ================================================================= configuration for 2 cameras: cam #0 name: tracking sensor type: ov7251 isEnabled: 1 camId: 0 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 640 pre_height: 480 en_raw_preview: 1 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 ae_mode: lme_msv standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: hires sensor type: imx214 isEnabled: 1 camId: 1 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 1024 small_video_height: 768 en_large_video: 1 large_video_width: 4208 large_video_height: 3120 en_snapshot: 1 snap_width: 4208 snap_height: 3120 ae_mode: isp standby_enabled: 0 decimator: 1 independent_exposure:0 ================================================================= camera_server_config_helper is done copying required camera drivers in place /usr/share/modalai/chi-cdk/ov7251/com.qti.sensormodule.ov7251_2.bin /usr/share/modalai/chi-cdk/imx214/com.qti.sensormodule.imx214_3.bin enabling voxl-camera-server ------------------------------------------------------------------ Done Configuring Cameras Please power cycle VOXL to load new drivers camera server will start on next reboot ------------------------------------------------------------------
voxl-camera-server --list shows no cameras:
voxl2-mini:~$ voxl-camera-server --list DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 0 DEBUG: Note: This list comes from the HAL module and may not be indicative DEBUG: of configurations that have full pipelines DEBUG: Number of cameras: 0
DMESG shows this each time I run camera server:
[ 2918.263294] CAM_ERR: CAM-MEM: cam_mem_mgr_create_debug_fs: 126 failed to create dentry [ 2918.295287] CAM_INFO: CAM-HFI: cam_hfi_init: 878 Init IO1 : [0x10c00000 0xcf300000] IO2 [0xe0200000 0x1ed00000] [ 2918.305642] CAM_INFO: CAM-ICP: cam_icp_mgr_process_dbg_buf: 2572 FW_DBG:CICP_FW_E : HFI :QC_IMAGE_VERSION_STRING=CICP.FW.1.0-00079,OEM_IMAGE_VERSION_STRING=CRM,BUILD_TIME: Oct 17 2019 05:49:19,CACHE_ENABLED at icphostinterface.c:636 QC_IMAGE_VERSION_STRING=CICP.FW.1.0-00079 OEM_IMAGE_VERSION_STRING=CRM [ 2918.305653] CAM_INFO: CAM-ICP: cam_icp_mgr_hw_open: 3879 FW download done successfully [ 2918.305661] CAM_INFO: CAM-ICP: cam_icp_mgr_process_dbg_buf: 2572 FW_DBG:CICP_FW_E : HFI :ELF variant: CACHE-ENABLED:T480:API_V2:USE_CDM_1_1: , API version: 0x2000049 at icphostinterface.c:637 QC_IMAGE_VERSION_STRING=CICP.FW.1.0-00079 OEM_IMAGE_VERSION_STRING=CRM [ 2918.372954] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.60 [ 2918.373051] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Linked as a consumer to regulator.79 [ 2918.397175] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 731 [Applying Alternative Address] : Sensor Index : 3611762868 [ 2918.397187] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 732 [Applying Alternative Address] : Slave Address : 0xE2 [ 2918.397195] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 733 [Applying Alternative Address] : Slave sensor id: 0x7750 [ 2918.397203] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 734 [Applying Alternative Address] : cci_client sid : 0x71 [ 2918.397394] CAM_ERR: CAM-CCI: cam_cci_irq: 232 Base: pK-error, M0_Q0 NACK ERROR: 0x8000000 [ 2918.397453] CAM_ERR: CAM-CCI: cam_cci_wait: 270 failed rc -22 [ 2918.397462] CAM_ERR: CAM-CCI: cam_cci_transfer_end: 345 failed rc -22 [ 2918.397473] CAM_ERR: CAM-CCI: cam_cci_data_queue: 870 Slave: 0xe0 failed rc -22 [ 2918.397479] CAM_ERR: CAM-CCI: cam_cci_i2c_write: 1450 failed rc: -22 [ 2918.397489] CAM_ERR: CAM-SENSOR: cam_cci_i2c_write_table_cmd: 123 Failed rc = -22 [ 2918.397498] CAM_ERR: CAM-SENSOR: cam_sensor_set_alt_id: 768 [Applying Alternative Address] : Probe : camera_io_dev_write failed: rc=-22 [ 2918.397596] CAM_ERR: CAM-CCI: cam_cci_read: 1340 read_words = 0, exp words = 1 [ 2918.397619] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22 [ 2918.397643] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22 [ 2918.397661] CAM_ERR: CAM-CCI: cam_cci_irq: 238 Base: pK-error, M0_Q1 NACK ERROR: 0x10000000 [ 2918.397682] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x7750: [ 2918.397846] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.79 [ 2918.402060] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.60 [ 2918.430268] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.55 [ 2918.430803] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.60 [ 2918.430946] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.79 [ 2918.448589] CAM_ERR: CAM-CCI: cam_cci_irq: 264 Base: pK-error, M1_Q1 NACK ERROR: 0x40000000 [ 2918.448773] CAM_ERR: CAM-CCI: cam_cci_read: 1329 ERROR with Slave 0x20: [ 2918.448784] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22 [ 2918.448792] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22 [ 2918.448800] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x214: [ 2918.448930] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.79 [ 2918.452959] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.60 [ 2918.453101] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.55 [ 2918.502038] CAM_WARN: CAM-CRM: cam_req_mgr_close: 160 release invoked associated userspace process has died
Could I have some guidance on where to go next?
Thanks!
-
@LucaVertiq can you please take a picture of your setup? It's likely that either the flex cables are installed backwards or not fully seated
-
@Moderator Sure thing. Does this look right?
-
@Moderator I've attempted both cameras by themselves with proper configuration as well on the same interposer and no dice.
-
@LucaVertiq I was able to replicate the same setup by following the documentation you provided. Running this command, which is documented at the bottom of the C4 camera configuration, switches the camera ids so that hires is on 0 and tracking is on 1 rather than vice versa. I was able to detect the two cameras but too could not get voxl-camera-server running yet. Hope this helps a bit!
-
@Nathan-Raras Thanks for testing that. When I did run that command and reboot I ended up with the same results as I had before.
voxl2-mini:~$ voxl-camera-server -l DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 0 DEBUG: Note: This list comes from the HAL module and may not be indicative DEBUG: of configurations that have full pipelines DEBUG: Number of cameras: 0
Here's my voxl-camera-server.conf
Is there anything obviously wrong?cat /etc/modalai/voxl-camera-server.conf /** * 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, "cameras": [{ "type": "imx214", "name": "hires", "enabled": true, "camera_id": 0, "fps": 30, "en_preview": false, "preview_width": 640, "preview_height": 480, "en_raw_preview": false, "en_small_video": true, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": true, "large_video_width": 4208, "large_video_height": 3120, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": true, "en_snapshot_width": 4208, "en_snapshot_height": 3120, "ae_mode": "isp" }, { "type": "ov7251", "name": "tracking0", "enabled": true, "camera_id": 1, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 640, "preview_height": 480, "en_raw_preview": true, "ae_mode": "lme_msv", "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 54, "gain_max": 8000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }] }
-
@LucaVertiq It seems that we had switched the image sensor binaries for 1.1.1 in which the tracking camera is connected to JL and hires is connected to JU as follows:
After running the C4 configuration, you should be able to see the cameras enumerate when running:
voxl-camera-server -l
To view the pipes for each camera, we can run voxl-camera-server in debug mode using:
voxl-camera-server -d0
and in a seperate terminal, run:
voxl-inspect-cam -a
Hope this helps!
-
@Nathan-Raras We're getting somewhere! So after running:
voxl-configure-cameras 04
and rebooting I now get this on list:
voxl2-mini:~$ voxl-camera-server -l DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 2 DEBUG: Cam idx: 0, Cam slot: 2, Slave Address: 0x00E2, Sensor Id: 0x7750 DEBUG: Cam idx: 1, Cam slot: 3, Slave Address: 0x0020, Sensor Id: 0x0214 DEBUG: Note: This list comes from the HAL module and may not be indicative DEBUG: of configurations that have full pipelines DEBUG: Number of cameras: 2 ==================================== Stats for camera: 0 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 640 x 480 640 x 480 640 x 480 ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: These are NOT necessarily supported by the sensor 640 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 400 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 400 HAL_PIXEL_FORMAT_BLOB 640 x 360 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 360 HAL_PIXEL_FORMAT_BLOB 352 x 288 HAL_PIXEL_FORMAT_YCbCr_420_888 352 x 288 HAL_PIXEL_FORMAT_BLOB 320 x 240 HAL_PIXEL_FORMAT_YCbCr_420_888 320 x 240 HAL_PIXEL_FORMAT_BLOB 240 x 320 HAL_PIXEL_FORMAT_YCbCr_420_888 240 x 320 HAL_PIXEL_FORMAT_BLOB 176 x 144 HAL_PIXEL_FORMAT_YCbCr_420_888 176 x 144 HAL_PIXEL_FORMAT_BLOB 640 x 480 HAL_PIXEL_FORMAT_RAW10 640 x 480 HAL_PIXEL_FORMAT_RAW12 640 x 480 HAL_PIXEL_FORMAT_RAW16 640 x 480 HAL_PIXEL_FORMAT_RAW_OPAQUE ANDROID_SENSOR_INFO_SENSITIVITY_RANGE min = 54 max = 3451 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 3451 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 0ns max = 1266732525ns ==================================== Stats for camera: 1 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 4208 x 3120 3840 x 2160 1920 x 1080 1920 x 1080 ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: These are NOT necessarily supported by the sensor 4208 x 3120 HAL_PIXEL_FORMAT_YCbCr_420_888 4208 x 3120 HAL_PIXEL_FORMAT_BLOB 4160 x 3120 HAL_PIXEL_FORMAT_YCbCr_420_888 4160 x 3120 HAL_PIXEL_FORMAT_BLOB 4096 x 2304 HAL_PIXEL_FORMAT_YCbCr_420_888 4096 x 2304 HAL_PIXEL_FORMAT_BLOB 4096 x 2160 HAL_PIXEL_FORMAT_YCbCr_420_888 4096 x 2160 HAL_PIXEL_FORMAT_BLOB 4056 x 3040 HAL_PIXEL_FORMAT_YCbCr_420_888 4056 x 3040 HAL_PIXEL_FORMAT_BLOB 4000 x 3000 HAL_PIXEL_FORMAT_YCbCr_420_888 4000 x 3000 HAL_PIXEL_FORMAT_BLOB 3840 x 2160 HAL_PIXEL_FORMAT_YCbCr_420_888 3840 x 2160 HAL_PIXEL_FORMAT_BLOB 3264 x 2448 HAL_PIXEL_FORMAT_YCbCr_420_888 3264 x 2448 HAL_PIXEL_FORMAT_BLOB 3200 x 2400 HAL_PIXEL_FORMAT_YCbCr_420_888 3200 x 2400 HAL_PIXEL_FORMAT_BLOB 2976 x 2976 HAL_PIXEL_FORMAT_YCbCr_420_888 2976 x 2976 HAL_PIXEL_FORMAT_BLOB 2688 x 1512 HAL_PIXEL_FORMAT_YCbCr_420_888 2688 x 1512 HAL_PIXEL_FORMAT_BLOB 2592 x 1944 HAL_PIXEL_FORMAT_YCbCr_420_888 2592 x 1944 HAL_PIXEL_FORMAT_BLOB 2048 x 1536 HAL_PIXEL_FORMAT_YCbCr_420_888 2048 x 1536 HAL_PIXEL_FORMAT_BLOB 1920 x 1440 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1440 HAL_PIXEL_FORMAT_BLOB 1928 x 1208 HAL_PIXEL_FORMAT_YCbCr_420_888 1928 x 1208 HAL_PIXEL_FORMAT_BLOB 1920 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1920 x 1080 HAL_PIXEL_FORMAT_BLOB 1600 x 1200 HAL_PIXEL_FORMAT_YCbCr_420_888 1600 x 1200 HAL_PIXEL_FORMAT_BLOB 1440 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1440 x 1080 HAL_PIXEL_FORMAT_BLOB 1280 x 960 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 960 HAL_PIXEL_FORMAT_BLOB 1280 x 800 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 800 HAL_PIXEL_FORMAT_BLOB 1280 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 768 HAL_PIXEL_FORMAT_BLOB 1280 x 720 HAL_PIXEL_FORMAT_YCbCr_420_888 1280 x 720 HAL_PIXEL_FORMAT_BLOB 1080 x 1080 HAL_PIXEL_FORMAT_YCbCr_420_888 1080 x 1080 HAL_PIXEL_FORMAT_BLOB 1024 x 738 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 738 HAL_PIXEL_FORMAT_BLOB 1024 x 768 HAL_PIXEL_FORMAT_YCbCr_420_888 1024 x 768 HAL_PIXEL_FORMAT_BLOB 864 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 864 x 480 HAL_PIXEL_FORMAT_BLOB 800 x 600 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 600 HAL_PIXEL_FORMAT_BLOB 800 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 800 x 480 HAL_PIXEL_FORMAT_BLOB 720 x 1280 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 1280 HAL_PIXEL_FORMAT_BLOB 720 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 720 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 480 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 480 HAL_PIXEL_FORMAT_BLOB 640 x 400 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 400 HAL_PIXEL_FORMAT_BLOB 640 x 360 HAL_PIXEL_FORMAT_YCbCr_420_888 640 x 360 HAL_PIXEL_FORMAT_BLOB 352 x 288 HAL_PIXEL_FORMAT_YCbCr_420_888 352 x 288 HAL_PIXEL_FORMAT_BLOB 320 x 240 HAL_PIXEL_FORMAT_YCbCr_420_888 320 x 240 HAL_PIXEL_FORMAT_BLOB 240 x 320 HAL_PIXEL_FORMAT_YCbCr_420_888 240 x 320 HAL_PIXEL_FORMAT_BLOB 176 x 144 HAL_PIXEL_FORMAT_YCbCr_420_888 176 x 144 HAL_PIXEL_FORMAT_BLOB 4208 x 3120 HAL_PIXEL_FORMAT_RAW10 4208 x 3120 HAL_PIXEL_FORMAT_RAW12 4208 x 3120 HAL_PIXEL_FORMAT_RAW16 4208 x 3120 HAL_PIXEL_FORMAT_RAW_OPAQUE ANDROID_SENSOR_INFO_SENSITIVITY_RANGE min = 54 max = 431 ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY 431 ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE min = 10449ns max = 683714540ns ==================================== Number of cameras detected: 2 ==================================== voxl2-mini:~$
It's detecting the cameras! Woo!
But on reboot with the camera server enabled it still crashed. Running the camera server gets something, but then says aborted after a few seconds
voxl2-mini:~$ voxl-camera-server GPS server Connected detected system image 1.7.1 using new imx214 defaults ================================================================= configuration for 2 cameras: cam #0 name: tracking sensor type: ov7251 isEnabled: 1 camId: 0 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 1 pre_width: 640 pre_height: 480 en_raw_preview: 1 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 ae_mode: lme_msv standby_enabled: 0 decimator: 1 independent_exposure:0 cam #1 name: hires sensor type: imx214 isEnabled: 1 camId: 1 camId2: -1 fps: 30 en_rotate: 0 en_rotate2: 0 en_preview: 0 pre_width: 640 pre_height: 480 en_raw_preview: 0 en_small_video: 1 small_video_width: 1024 small_video_height: 768 en_large_video: 1 large_video_width: 4208 large_video_height: 3120 en_snapshot: 1 snap_width: 4208 snap_height: 3120 ae_mode: isp standby_enabled: 0 decimator: 1 independent_exposure:0 ================================================================= Starting Camera: tracking Using gain limits min: 54 max: 3451 gbm_create_device(156): Info: backend name is: msm_drm Starting Camera: hires Using gain limits min: 54 max: 431 WARNING: Port Def 0: Count Min: 8 Count Actual: 16 Size: 0x180000 Buffers Contiguous: Yes Buffer Alignment: 0 WARNING: Port Def 1: Count Min: 4 Count Actual: 16 Size: 0x5a0000 Buffers Contiguous: No Buffer Alignment: 0 gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm WARNING: Port Def 0: Count Min: 8 Count Actual: 16 Size: 0x17a0000 Buffers Contiguous: Yes Buffer Alignment: 0 WARNING: Port Def 1: Count Min: 4 Count Actual: 16 Size: 0x5ec000 Buffers Contiguous: No Buffer Alignment: 0 gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm gbm_create_device(156): Info: backend name is: msm_drm ------ voxl-camera-server: Camera server is now running Aborted
Can't fit the verbose output in the forum post, but I've saved it. I can't seem to attach it to a forum post though.
-
EDIT: It all works! I think I have a better understanding of how things work now? When I was only detecting one camera, the camera was on the upper connector and I had to have it as the first camera in the config for it to work. When I re-seated the cable and could detect two cameras I had to have the first cam in the config be the tracking one from the lower connector and the hires be on the upper. Now it all works. Thanks for the help!
@Nathan-Raras Now after a few reboots and changing things I'm detecting the hires, but no tracking, but it's not crashing.
I'm just going to put my voxl-camera-server.conf file here, and the binaries that are in /usr/lib/camera.
voxl2-mini:~$ ls /usr/lib/camera/ com.qti.eeprom.cmk_imx577.so com.qti.sensor.ov7251_front_left.so com.qti.sensor.ov9782_front_right.so com.qti.sensor.ar0144.so com.qti.sensor.ov7251_front_left_flip.so com.qti.sensor.ov9782_front_right_flip.so com.qti.sensor.cmk_imx577.so com.qti.sensor.ov7251_front_right.so com.qti.sensor.ov9782_rear_left.so com.qti.sensor.cmk_imx577_flip.so com.qti.sensor.ov7251_front_right_flip.so com.qti.sensor.ov9782_rear_left_flip.so com.qti.sensor.imx214.so com.qti.sensor.ov7251_fsin.so com.qti.sensor.ov9782_rear_right.so com.qti.sensor.imx214_flip.so com.qti.sensor.ov7251_fsout.so com.qti.sensor.ov9782_rear_right_flip.so com.qti.sensor.imx335.so com.qti.sensor.ov7251_rear_left.so com.qti.sensormodule.imx214_3.bin com.qti.sensor.imx377.so com.qti.sensor.ov7251_rear_left_flip.so com.qti.sensormodule.ov7251_2.bin com.qti.sensor.imx678.so com.qti.sensor.ov7251_rear_right.so com.qti.tuned.cmk_imx577.bin com.qti.sensor.imx678_flip.so com.qti.sensor.ov7251_rear_right_flip.so com.qti.tuned.cmk_ov9282.bin com.qti.sensor.imx678_mod.so com.qti.sensor.ov9782.so com.qti.tuned.default.bin com.qti.sensor.irs1645.so com.qti.sensor.ov9782_front_left.so com.qti.tuned.sony_imx335.bin com.qti.sensor.ov7251.so com.qti.sensor.ov9782_front_left_flip.so components
voxl2-mini:~$ cat /etc/modalai/voxl-camera-server.conf /** * 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, "cameras": [{ "type": "imx214", "name": "hires", "enabled": true, "camera_id": 0, "fps": 30, "en_preview": false, "preview_width": 640, "preview_height": 480, "en_raw_preview": false, "en_small_video": true, "small_video_width": 1024, "small_video_height": 768, "small_venc_mode": "h265", "small_venc_br_ctrl": "cqp", "small_venc_Qfixed": 30, "small_venc_Qmin": 15, "small_venc_Qmax": 40, "small_venc_nPframes": 9, "small_venc_mbps": 2, "en_large_video": true, "large_video_width": 4208, "large_video_height": 3120, "large_venc_mode": "h265", "large_venc_br_ctrl": "cqp", "large_venc_Qfixed": 38, "large_venc_Qmin": 15, "large_venc_Qmax": 50, "large_venc_nPframes": 29, "large_venc_mbps": 30, "en_snapshot": true, "en_snapshot_width": 4208, "en_snapshot_height": 3120, "ae_mode": "isp" }, { "type": "ov7251", "name": "tracking", "enabled": true, "camera_id": 1, "fps": 30, "en_rotate": false, "en_preview": true, "preview_width": 640, "preview_height": 480, "en_raw_preview": true, "ae_mode": "lme_msv", "ae_desired_msv": 60, "exposure_min_us": 20, "exposure_max_us": 33000, "gain_min": 54, "gain_max": 8000, "exposure_soft_min_us": 5000, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }] }
-
@LucaVertiq Looking at your voxl-camera-server.conf file, it looks like the configurations are flipped in which tracking should be on camera_id: 0 and hires should be on camera_id: 1. Deleting the camera drivers in /usr/lib/camera and reconfiguring should fix that issue in your voxl-camera-server.conf file
rm com.qti.sensormodule.imx214_3.bin
rm com.qti.sensormodule.ov7251_2.bin
voxl-configure-cameras 04