ov7251 tracking camera not being initialized with unsupported preview config
-
I found the cable in your link on the website. It was under the cables section and not the image sensor section. Would the dual sensor board not be valid for this setup?
-
@brianaustin, M0135 should work for this application. I just thought you were using a different Y flex cable plugged into J7.
Also, it does look like you have the cameras plugged in correctly.
Please follow my suggestion in previous post and swap ov7251 and imx214 places (taking note of pin 1 orientations) and see if ov7251 can be successfully probed in slot 3 and imx214 in slot 2.
Alex
-
I followed your instructions above and here is the output of the camera-server command
voxl2:/$ voxl-camera-server -l existing instance of voxl-camera-server found, attempting to stop it 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: 0, Slave Address: 0x00E2, Sensor Id: 0x7750 DEBUG: Cam idx: 1, Cam slot: 1, Slave Address: 0x00E4, Sensor Id: 0x7750 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 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 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 ==================================== Number of cameras detected: 2 ====================================
the portal only shows Mulit-View but there are no streams shown and only a checkbox that I can select but no images. The Stereo Sensor does not work now either
It looks like some I2C bus errors in dmesg
[ 16.550375] CAM_ERR: CAM-CCI: cam_cci_irq: 238 Base: pK-error, M0_Q1 NACK ERROR: 0x10000000 [ 16.550450] CAM_ERR: CAM-CCI: cam_cci_read: 1329 ERROR with Slave 0x20: [ 16.550460] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22 [ 16.550467] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22 [ 16.550476] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x214: [ 16.550600] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.79 [ 16.554341] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.60 [ 16.554478] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.55 [ 16.554597] qcom,camera ac50000.qcom,cci:qcom,cam-sensor2: Dropping the link to regulator.59 [ 16.583851] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.59 [ 16.586402] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.55 [ 16.588680] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.60 [ 16.588811] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Linked as a consumer to regulator.79 [ 16.613251] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 731 [Applying Alternative Address] : Sensor Index : 391368884 [ 16.613261] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 732 [Applying Alternative Address] : Slave Address : 0xE2 [ 16.613269] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 733 [Applying Alternative Address] : Slave sensor id: 0x7750 [ 16.613276] CAM_INFO: CAM-SENSOR: cam_sensor_set_alt_id: 734 [Applying Alternative Address] : cci_client sid : 0x71 [ 16.613447] CAM_ERR: CAM-CCI: cam_cci_irq: 258 Base: pK-error, M1_Q0 NACK ERROR: 0x20000000 [ 16.613507] CAM_ERR: CAM-CCI: cam_cci_wait: 270 failed rc -22 [ 16.613514] CAM_ERR: CAM-CCI: cam_cci_transfer_end: 345 failed rc -22 [ 16.613522] CAM_ERR: CAM-CCI: cam_cci_data_queue: 870 Slave: 0xe0 failed rc -22 [ 16.613529] CAM_ERR: CAM-CCI: cam_cci_i2c_write: 1450 failed rc: -22 [ 16.613536] CAM_ERR: CAM-SENSOR: cam_cci_i2c_write_table_cmd: 123 Failed rc = -22 [ 16.613545] CAM_ERR: CAM-SENSOR: cam_sensor_set_alt_id: 768 [Applying Alternative Address] : Probe : camera_io_dev_write failed: rc=-22 [ 16.613699] CAM_ERR: CAM-CCI: cam_cci_irq: 264 Base: pK-error, M1_Q1 NACK ERROR: 0x40000000 [ 16.613881] CAM_ERR: CAM-CCI: cam_cci_read: 1329 ERROR with Slave 0xe0: [ 16.613892] CAM_ERR: CAM-CCI: cam_cci_read_bytes: 1613 failed to read rc:-22 [ 16.613899] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35 rc = -22 [ 16.613908] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 707 read id: 0x0 expected id 0x7750: [ 16.614039] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.79 [ 16.627984] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.60 [ 16.628331] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.55 [ 16.628548] qcom,camera ac50000.qcom,cci:qcom,cam-sensor3: Dropping the link to regulator.59 [ 16.686142] CAM_WARN: CAM-CRM: cam_req_mgr_close: 160 release invoked associated userspace process has died
-
@brianaustin , thank you for running the test. The results are not conclusive. Let's try one more thing.
- Please list sensormodule files of
/usr/lib/camera
right now, just to double check:
ls /usr/lib/camera/*sensormodule*
at this point you should have the following, which will support either configuration of
ov7251
andimx214
(either slot 2 or 3). It is OK that there are more sensormodule files than cameras - for the ones that are not valid for the given configuration, the camera pipeline will try to probe the camera, will not find it, and will move on to the next sensormodlue.com.qti.sensormodule.imx214_2.bin com.qti.sensormodule.imx214_3.bin com.qti.sensormodule.ov7251_2.bin com.qti.sensormodule.ov7251_3.bin com.qti.sensormodule.ov7251_combo_0.bin com.qti.sensormodule.ov7251_combo_1.bin
- disconnect OV7251 completely and test camera scan again (double check IMX214 is plugged in correctly, with flex cable pointing towards the center of the M0135 board). please let me know if IMX214 is detected
- keep OV7251 disconnected and plug IMX214 back into slot 3 and do the scan again to make sure IMX214 is detected in the slot 3, which was working before.
If you have another M0135 or ov7251 (fisheye) to try, you could do that to help figure what is not working properly, M0135 or the ov7251 camera.
Alex
- Please list sensormodule files of
-
@Alex-Kushleyev said in ov7251 tracking camera not being initialized with unsupported preview config:
ls /usr/lib/camera/sensormodule
voxl2:/$ ls -l /usr/lib/camera/*sensormodule* -rw-r--r-- 1 root root 149272 Mar 4 14:48 /usr/lib/camera/com.qti.sensormodule.imx214_2.bin -rw-r--r-- 1 root root 149272 Feb 27 21:14 /usr/lib/camera/com.qti.sensormodule.imx214_3.bin -rw-r--r-- 1 root root 142472 Feb 27 21:14 /usr/lib/camera/com.qti.sensormodule.ov7251_2.bin -rw-r--r-- 1 root root 142472 Mar 4 14:49 /usr/lib/camera/com.qti.sensormodule.ov7251_3.bin -rw-r--r-- 1 root root 56280 Feb 27 21:14 /usr/lib/camera/com.qti.sensormodule.ov7251_combo_0.bin -rw-r--r-- 1 root root 56280 Feb 27 21:14 /usr/lib/camera/com.qti.sensormodule.ov7251_combo_1.bin
"disconnect OV7251 completely and test camera scan again (double check IMX214 is plugged in correctly, with flex cable pointing towards the center of the M0135 board). please let me know if IMX214 is detected"
Not detected"keep OV7251 disconnected and plug IMX214 back into slot 3 and do the scan again to make sure IMX214 is detected in the slot 3, which was working before."
DetectedI don't have any other sensors to test out. Should I order the other sensor cable referenced in the picture you posted earlier?
-
Thanks for running those tests. Since plugging in IMX214 into slot 2 (J7L) did not result in successful detection of the camera, it is likely that M0135 adapter is faulty.
However, since IMX214 does work in slot 3 (J7U), my expectation was that ov7251 would work in slot 3 as well, but that was not the case.
Another thing to try is to see if the single OV7251 camera can be detected in slot 0:
- unplug the stereo flex from J6 and just leave the small interposer M0076 in J6
- connect the single tracking camera ov7251 where the stereo pair was connected. Note that when tracking ov7251 is correctly plugged into VOXL2 J6 via M0076, the tracking camera flex will point away from the voxl2 board, see image below
- you dont need to change any sensormodules because you already had the stereo set up and for detection purposes, the combo driver for ov7251 will be able to detect the camera.
- since we know that M0076 is working (stereo is working), this test will tell us if the tracking ov7251 is working or not.
voxl2:/$ voxl-camera-server -l DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 1 DEBUG: Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750
-
Thanks! That worked
voxl2:/$ voxl-camera-server -l DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 1 DEBUG: Cam idx: 0, Cam slot: 0, Slave Address: 0x00E2, Sensor Id: 0x7750 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: 1 ==================================== Stats for camera: 0 ANDROID_SCALER_AVAILABLE_RAW_SIZES: These are likely supported by the sensor 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 ==================================== Number of cameras detected: 1 ====================================
Looks like I need to get a new dual connector or the other cable yeah?
-
@brianaustin , great!
Now, one more test
Take the M0076 with the tracking OV7251 from J6 and plug into J7. You already have the sensormodule for slot 2 in place for J7L, so detection should work. Hopefully this works and this would confirm that J7L camera path is working.
BTW you should be able to actually test the feed from the camera using the M0076 connection to J6 and J7 (just turn off other cameras in config, or maybe even leaving them enabled will work because camera server will just skip the undetected cameras).
Then you would need a new M0135 interposer (you can submit RMA request at https://www.modalai.com/rma)
Alex
-
voxl2:/$ voxl-camera-server -l existing instance of voxl-camera-server found, attempting to stop it DEBUG: Attempting to open the hal module DEBUG: SUCCESS: Camera module opened on attempt 0 DEBUG: ----------- Number of cameras: 1 DEBUG: Cam idx: 0, Cam slot: 2, Slave Address: 0x00E2, Sensor Id: 0x7750 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: 1 ==================================== 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 ==================================== Number of cameras detected: 1 ====================================
I reconfigured and the tracking camera works! that was a first and thank you for that!
OK, I guess NOW we have determined the dual sensor connector board is defective?
-
@brianaustin , YES!
Please submit and RMA form to request a replacement M0135 board. If you need a replacement more urgently, you way want to buy another M0135 and you will have another one as a back up (and future expansion).
Alex