ov7251 tracking + imx214 hires not working
-
Hi ModalAI Team,
i trying to get the Tracking / Highres (ov7251 tracking imx214 hires) combination running on the VOXL2-mini without any succes.
Tested with SDK 1.3.5, 1.4.5, 1.5.1, swapped the camera, swapped the dual camera extender, nothing worked.
The Tracking camera works without an issues but the imx214 not.[ 9.961337] CAM_ERR: CAM-CCI: cam_cci_irq: 264 Base: pK-error, M1_Q1 NACK ERROR: 0x40000000 [ 9.961525] CAM_ERR: CAM-CCI: cam_cci_read: 1329 ERROR with Slave 0x20: [ 9.961545] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22 [ 9.961560] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22 [ 9.961571] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x214:
Any ideas how i can fix this ?
-
Which camera connector (J6 or J7) are you using on VOXL2 mini? Also, have you sensormodule (camera driver) to
/usr/lib/camera(assuming you are doing a manual configuration). See some details here : https://docs.modalai.com/configure-cameras/#connect-a-new-cameraSince the kernel is reporting that camera probing is failing, this could mean one of several things:
- correct sensormodule for the camera and slot id is not present
- incorrect kernel variant is used (should be 2.0.0)
- a hardware issue in the interposer / camera
You can also check if the tracking camera works in the upper slot (where you have the IMX214 plugged in right now) and vice versa. Swapping the camera slots would require making sure you have correct mating orientation of the connectors and correct sensormodules available.
I just checked on voxl2 mini, we have the following sensormodules available:
voxl2-mini:/usr/share/modalai/chi-cdk/imx214$ ls com.qti.sensormodule.imx214_0.bin com.qti.sensormodule.imx214_3.bin com.qti.sensormodule.imx214_2.bin com.qti.sensormodule.imx214_4.bin voxl2-mini:/usr/share/modalai/chi-cdk/ov7251$ ls com.qti.sensormodule.ov7251_0.bin com.qti.sensormodule.ov7251_2.bin com.qti.sensormodule.ov7251_4.bin com.qti.sensormodule.ov7251_1.bin com.qti.sensormodule.ov7251_3.bin com.qti.sensormodule.ov7251_5.binSo you would not be able to get this combo to work on J6 (slot ids 0 and 1) because the imx214 sensormodule for slot 1 is missing (we did not add it by mistake), but J7 should work (slots 2 and 3). If you put IMX214 into lower slot, and tracking camera in upper slot, then you could use J6 : imx214 : slot 0, ov7251 : slot 1.
Additionally, make sure that you are using the correct kernel for voxl2 mini (it should be 2.0.0, not 2.0.2 when you are using the non coax cameras / interposers). you can check the kernel version using
voxl-versionand look at the top of the output, undermach. var(machine variant), should be 2.0.0. if not, re-install SDK and select the correct kernel variant during install.Alex
-
Thanks for the quick reply. I use J7 to connect the cameras.
I'm running kernel 2.0.0 and as i said i replace camera, interposer without any success. I have another voxl running on mach. ver 2.0.2 having the tracking camera on a single interposer without an issue.
I also tried putting the imx214 on the lower slot. Which yielded different error.However i only can mount the cameras in the shown configuration to the drone.
I will check the connectors again. And the if i can reproduce the IMX214 error on j7lower.
-
if i switch the configuration:
the imx214 works but the OV7251 yields errors:[ 6.824203] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 731 [Applying Alternative Address] : Sensor Index : 1463881908
[ 6.824208] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 732 [Applying Alternative Address] : Slave Address : 0xE2
[ 6.824210] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 733 [Applying Alternative Address] : Slave sensor id: 0x7750
[ 6.824213] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 734 [Applying Alternative Address] : cci_client sid : 0x71
[ 6.824364] CAM_ERR: CAM-CCI: cam_cci_irq: 258 Base: pK-error, M1_Q0 NACK ERROR: 0x20000000
[ 6.824384] CAM_ERR: CAM-CCI: cam_cci_wait: 270 failed rc -22
[ 6.824387] CAM_ERR: CAM-CCI: cam_cci_transfer_end: 345 failed rc -22
[ 6.824390] CAM_ERR: CAM-CCI: cam_cci_data_queue: 870 Slave: 0xe0 failed rc -22
[ 6.824393] CAM_ERR: CAM-CCI: cam_cci_i2c_write: 1450 failed rc: -22
[ 6.824396] CAM_ERR: CAM-SENSOR: cam_cci_i2c_write_table_cmd: 123 Failed rc = -22
[ 6.824399] CAM_ERR: CAM-SENSOR: cam_sensor_set_alt_id: 768 [Applying Alternative Address] : Probe : camera_io_dev_write failed: rc=-22
[ 6.824530] CAM_ERR: CAM-CCI: cam_cci_irq: 264 Base: pK-error, M1_Q1 NACK ERROR: 0x40000000
[ 6.824555] CAM_ERR: CAM-CCI: cam_cci_read: 1329 ERROR with Slave 0xe0:
[ 6.824559] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22
[ 6.824561] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22
[ 6.824564] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x7750: -
@astro_phil , are you able to test J6 in a similar manner? you can just use the tracking camera alone on both J6L and J6U to see if those hardware paths are working. If J6 is working fully, then there may be a HW issue in voxl2 mini / camera connector.
The error you are getting now when you put tracking camera on J7U is failure to detect the camera via CCI (I2C), which could be either a bad connection in the power path or the CCI signal, or the camera reset signal.
Alex