VOXL and Qualcomm Flight Pro camera compatibility



  • Are the MIPI cameras for the VOXL and Qualcomm Flight Pro interchangeable?



  • Yes, they should be. More details here: https://modalai.com/qualcomm-flight-pro



  • Hi @Chad-Sweet

    I have a Qualcomm Flight Pro that i have flashed with the latest 3.3.0 system image. Stereo and tracking (ov7251) cameras are working great using the voxl-camera-server and pipe architecture.

    After using voxl-configure-cameras to select "8 Hires Only", hires imx214 5.8mm on J2 does not work (I think this is same as on QFPro?).

    hires imx214 10mm purchased with a voxl flight does work (connecting to J2).

    I don't have another QFPro on me atm, but will try another imx214 5.8mm later this week. But maybe there are other tests I should run / am missing something obvious?

    systemctl status

    $ systemctl status voxl-camera-server 
    ā— voxl-camera-server.service - voxl-camera-server
       Loaded: loaded (/usr/bin/voxl-camera-server; enabled; vendor preset: enabled)
       Active: failed (Result: signal) since Mon 2021-07-05 13:46:01 UTC; 5s ago
      Process: 11510 ExecStart=/bin/bash -c /usr/bin/voxl-camera-server (code=killed, signal=SEGV)
     Main PID: 11510 (code=killed, signal=SEGV)
    
    Jul 05 13:46:01 HX99 systemd[1]: Started voxl-camera-server.
    Jul 05 13:46:01 HX99 bash[11510]: ------ voxl-camera-server INFO: Camera server is now stopping
    Jul 05 13:46:01 HX99 bash[11510]: There is a chance that it may segfault here, this is a mmqcame...e it
    Jul 05 13:46:01 HX99 bash[11510]: ------ voxl-camera-server INFO: Stopping hires camera
    Jul 05 13:46:01 HX99 bash[11510]: Fault address: 0x68
    Jul 05 13:46:01 HX99 bash[11510]: Address not mapped.
    Jul 05 13:46:01 HX99 systemd[1]: voxl-camera-server.service: Main process exited, code=killed, s...SEGV
    Jul 05 13:46:01 HX99 systemd[1]: voxl-camera-server.service: Unit entered failed state.
    Jul 05 13:46:01 HX99 systemd[1]: voxl-camera-server.service: Failed with result 'signal'.
    Hint: Some lines were ellipsized, use -l to show in full.
    

    dmesg log

    all imx214_rot180 power on / probes fail - when I plug in 10mm imx214 i see a successful power on / probe

    $ dmesg | grep -B3 -A3 imx
    [    5.609644] msm_sensor_cci_i2c_util line 618
    [    5.630487] logd.auditd: start
    [    5.630516] logd.klogd: 5630488355
    [    5.640154] imx377 power up failed
    [    5.640167] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -19
    [    5.640176] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    5.649494] msm_sensor_cci_i2c_util line 618
    --
    [    5.651051] msm_cci_i2c_read_bytes: Trying to read address 0x3044
    [    5.651058] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    5.651065] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    5.651071] msm_sensor_match_id: imx377: read id failed
    [    5.651082] msm_sensor_check_id:1432 match id failed rc -22
    [    5.651093] msm_sensor_cci_i2c_util line 618
    [    5.685803] type=1305 audit(7.371:56): audit_rate_limit=20 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 res=1
    --
    [    5.693767] msm_cci_i2c_read_bytes: Trying to read address 0x3044
    [    5.693774] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    5.693784] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    5.693792] msm_sensor_match_id: imx377: read id failed
    [    5.693799] msm_sensor_check_id:1432 match id failed rc -22
    [    5.693807] msm_sensor_cci_i2c_util line 618
    [    5.712687] mdss_register_panel: mdss mdp resource not initialized yet
    --
    [    5.737273] msm_cci_i2c_read_bytes: Trying to read address 0x3044
    [    5.737279] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    5.737286] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    5.737293] msm_sensor_match_id: imx377: read id failed
    [    5.737300] msm_sensor_check_id:1432 match id failed rc -22
    [    5.737306] msm_sensor_cci_i2c_util line 618
    [    5.744164] 'opened /dev/adsprpc-smd c 224 0'
    [    5.744695] type=1130 audit(7.481:58): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=leprop comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    5.762992] type=1130 audit(7.501:59): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=persist-prop comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    5.765834] type=1130 audit(7.501:60): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=qmmf-server comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    5.770144] imx377 power up failed
    [    5.770160] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    5.770172] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    5.786869] type=1130 audit(7.521:61): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=systemd-logind comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    --
    [    6.262538] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.262542] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.262548] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.262553] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.262559] msm_sensor_check_id:1432 match id failed rc -22
    [    6.262564] msm_sensor_cci_i2c_util line 618
    [    6.270976] wcd9xxx_slim_probe: failed to get slimbus tasha-slim-pgd logical address: -6
    --
    [    6.314186] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.314190] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.314195] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.314200] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.314204] msm_sensor_check_id:1432 match id failed rc -22
    [    6.314208] msm_sensor_cci_i2c_util line 618
    [    6.332154] R0: [insmod][00:00:08.076530]  wlan: [2457:E :VOS] __ol_transfer_bin_file: transferring file: otp30.bin size 24177 bytes done!
    --
    [    6.390530] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.390535] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.390542] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.390549] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.390554] msm_sensor_check_id:1432 match id failed rc -22
    [    6.390587] msm_sensor_cci_i2c_util line 618
    [    6.418221] type=1130 audit(8.151:82): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=diag-reboot-app comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    6.430099] imx214_rot180 power up failed
    [    6.430112] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    6.430119] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    6.454417] msm_sensor_cci_i2c_util line 618
    --
    [    6.456092] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.456097] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.456104] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.456111] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.456116] msm_sensor_check_id:1432 match id failed rc -22
    [    6.456122] msm_sensor_cci_i2c_util line 618
    [    6.471834] type=1131 audit(8.201:83): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=diag-reboot-app comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
    --
    [    6.536387] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.536391] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.536395] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.536398] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.536402] msm_sensor_check_id:1432 match id failed rc -22
    [    6.536406] msm_sensor_cci_i2c_util line 618
    [    6.542298] hif_pci_notify_handler: Fail to send notify
    --
    [    6.597795] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.597803] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.597812] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.597820] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.597826] msm_sensor_check_id:1432 match id failed rc -22
    [    6.597834] msm_sensor_cci_i2c_util line 618
    [    6.600827] M-Notify: General: 7
    [    6.600834] ipa_get_ipc_logbuf_low:2736 IPA HW is not supported
    [    6.612752] type=1130 audit(8.351:84): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=diag-reboot-app comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    6.613240] type=1131 audit(8.351:85): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=diag-reboot-app comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    6.630209] imx214_rot180 power up failed
    [    6.630221] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    6.630230] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    6.632501] type=1130 audit(8.371:86): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=diag-reboot-app comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    --
    [    6.939105] msm_sensor_match_id chip id 214 does not match 577
    [    6.939110] msm_sensor_check_id:1432 match id failed rc -19
    [    6.939114] msm_sensor_cci_i2c_util line 618
    [    6.970133] imx412 power up failed
    [    6.970498] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -19
    [    6.970565] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    6.993258] msm_sensor_cci_i2c_util line 618
    --
    [    6.994817] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    6.994821] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    6.994826] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    6.994830] msm_sensor_match_id: imx412: read id failed
    [    6.994834] msm_sensor_check_id:1432 match id failed rc -22
    [    6.994839] msm_sensor_cci_i2c_util line 618
    [    6.998447] R0: [insmod][00:00:08.742828]  wlan: [2457:E :VOS] __ol_transfer_bin_file: transferring file: qwlan30.bin size 616057 bytes done!
    --
    [    7.051393] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.051399] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.051406] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.051412] msm_sensor_match_id: imx412: read id failed
    [    7.051418] msm_sensor_check_id:1432 match id failed rc -22
    [    7.051424] msm_sensor_cci_i2c_util line 618
    [    7.056337] R0: [VosMCThread][00:00:08.800650]  wlan: [2587:E :WDA] Invalid wda_cli_set pdev command/Not yet implemented 0x34
    --
    [    7.098113] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.098118] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.098126] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.098132] msm_sensor_match_id: imx412: read id failed
    [    7.098137] msm_sensor_check_id:1432 match id failed rc -22
    [    7.098142] msm_sensor_cci_i2c_util line 618
    [    7.130139] imx412 power up failed
    [    7.130155] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    7.130164] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    7.150196] msm_sensor_cci_i2c_util line 618
    --
    [    7.151333] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.151337] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.151341] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.151346] msm_sensor_match_id: imx412: read id failed
    [    7.151350] msm_sensor_check_id:1432 match id failed rc -22
    [    7.151353] msm_sensor_cci_i2c_util line 618
    [    7.198201] msm_sensor_cci_i2c_util line 618
    --
    [    7.199356] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.199361] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.199366] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.199371] msm_sensor_match_id: imx412: read id failed
    [    7.199377] msm_sensor_check_id:1432 match id failed rc -22
    [    7.199381] msm_sensor_cci_i2c_util line 618
    [    7.251279] msm_sensor_cci_i2c_util line 618
    --
    [    7.252978] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.252986] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.252993] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.253001] msm_sensor_match_id: imx412: read id failed
    [    7.253007] msm_sensor_check_id:1432 match id failed rc -22
    [    7.253014] msm_sensor_cci_i2c_util line 618
    [    7.262732] type=1130 audit(9.001:91): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0-s15:c0.c1023 msg='unit=voxl-imu-server comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
    [    7.280141] imx412 power up failed
    [    7.280152] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    7.280159] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    7.284910] msm_sensor_fill_eeprom_subdevid_by_name:222 Eeprom userspace probe for onsemi_cat24c32
    --
    [    7.308988] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.308993] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.308999] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.309005] msm_sensor_match_id: imx230: read id failed
    [    7.309011] msm_sensor_check_id:1432 match id failed rc -22
    [    7.309016] msm_sensor_cci_i2c_util line 618
    [    7.361435] msm_sensor_cci_i2c_util line 618
    --
    [    7.362627] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.362632] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.362638] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.362643] msm_sensor_match_id: imx230: read id failed
    [    7.362648] msm_sensor_check_id:1432 match id failed rc -22
    [    7.362653] msm_sensor_cci_i2c_util line 618
    [    7.394877] SELinux: 2048 avtab hash slots, 100785 rules.
    --
    [    7.413153] msm_cci_i2c_read_bytes: Trying to read address 0x16
    [    7.413162] msm_cci_i2c_read_bytes:1042 failed rc -22
    [    7.413172] msm_camera_cci_i2c_read: CDBG: FAIL line 49 rc = -22
    [    7.413181] msm_sensor_match_id: imx230: read id failed
    [    7.413189] msm_sensor_check_id:1432 match id failed rc -22
    [    7.413198] msm_sensor_cci_i2c_util line 618
    [    7.440185] imx230 power up failed
    [    7.440205] MSM-SENSOR-INIT msm_sensor_driver_cmd:82 msm_sensor_driver_cmd failed (non-fatal) rc -22
    [    7.440221] MSM-SENSOR-INIT msm_sensor_init_subdev_do_ioctl:148 msm_sensor_init_subdev_do_ioctl:148 VIDIOC_MSM_SENSOR_INIT_CFG failed (non-fatal)
    [    7.461673] msm_sensor_cci_i2c_util line 618
    

  • Dev Team

    Hello,

    Can you please post a photo of the IMX214 camera which you are using? Please show any writing / labels if available.

    Chad, I wonder if it's GP101J, for which we recently removed the driver from the image. We should be able to tell from the photo / labels on the camera. We could re-add the driver if needed.

    Alex



  • Hi @Alex-Kushleyev,

    the ribbon cable has KLT-D3MA-IMX214 v2.0 D written on it. lmk if you'd like another view

    0b3306d3-5513-4d79-9ee8-c9b94b312f38-image.png


  • Dev Team

    Let me find and try this camera.. Meanwhile, you could try to see if adding the following will fix your issue:

    • back up and edit /system/etc/camera/camera_config.xml
    • add the following entry anywhere in the file (see below). This is the entry in the camera config, which we recently removed, so it is possible that it was for this old camera.
    • reboot the board and look at dmesg to see if camera is detected (dmesg | grep imx)
    <CameraModuleConfig>   <!-- IMX214GP module -->                       
            <CameraId>0</CameraId>                           
            <SensorName>imx214</SensorName>                  
            <SensorSlaveAddress>0x34</SensorSlaveAddress>                          
            <FlashName>pmic</FlashName>                                
            <ChromatixName>imx214_chromatix</ChromatixName>                         
            <I2CFrequencyMode>FAST</I2CFrequencyMode>                               
            <ModesSupported>1</ModesSupported>                                       
            <Position>BACK</Position>                                                 
            <MountAngle>360</MountAngle>                   
            <CSIInfo>                                                            
              <CSIDCore>0</CSIDCore>                           
              <LaneMask>0x1F</LaneMask>                    
              <LaneAssign>0x4320</LaneAssign>                                         
              <ComboMode>0</ComboMode>                                          
            </CSIInfo>                                     
            <LensInfo>                                       
              <FocalLength>4.73</FocalLength>                                      
              <FNumber>2.2</FNumber>                       
              <TotalFocusDistance>1.9</TotalFocusDistance>
              <HorizontalViewAngle>64.1</HorizontalViewAngle>
              <VerticalViewAngle>51.6</VerticalViewAngle>                    
              <MinFocusDistance>0.1</MinFocusDistance>       
            </LensInfo>                                             
      </CameraModuleConfig>
    


  • Great, adding this stanza works.

    # dmesg -w | grep imx
    [    5.533473] imx214 probe succeeded
    [    5.562725] msm_sensor_match_id: imx377: read id failed
    [    5.603300] msm_sensor_match_id: imx377: read id failed
    [    5.653152] msm_sensor_match_id: imx377: read id failed
    [    5.680119] imx377 power up failed
    [    6.035108] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.094443] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.154561] msm_sensor_match_id: imx214_rot180: read id failed
    [    6.190180] imx214_rot180 power up failed
    [    6.250837] msm_sensor_match_id: imx412: read id failed
    [    6.297899] msm_sensor_match_id: imx412: read id failed
    [    6.350758] msm_sensor_match_id: imx412: read id failed
    [    6.380267] imx412 power up failed
    [    6.401368] msm_sensor_match_id: imx412: read id failed
    [    6.458736] msm_sensor_match_id: imx412: read id failed
    [    6.509933] msm_sensor_match_id: imx412: read id failed
    [    6.540145] imx412 power up failed
    

    The hires cam is rotated 90 deg, but based on https://forum.modalai.com/topic/305/camera-orientation-parameter I guess this is due to the ribbon cable location and cannot be changed in hardware?

    Also, it seems that changes to /system/etc/camera/camera_config.xml are not persistent and only affect the next boot - after the reboot the stanza was missing, and after another reboot the camera was no longer working.


  • Dev Team

    Yes, 90 degree rotation is due to the way the camera module was built.. you can only rotate 180 degrees, like that thread states.

    the changes to /system/etc/camera/camera_config.xml should be persistent. Please try again. Note that it is important to either do a software reboot via command line >reboot or if you are going to reboot the board by cutting power to it, you need to make sure the changes to file system are flushed to disk by typing sync before you remove power.



  • Got it. The changes are now persisting through reboots - not sure why it didn't the first time (i did adb reboot), but seems to be stably working now.

    Thanks for your help!


Log in to reply