Forums » Software Development »
Camera driver development
Added by Nathan Olson 19 days ago
Do you have any resources to help with camera driver development? I've found Qualcomm's "Linux Build Guide", "Linux Camera Guide", and "Linux Camera Guide - Addendum". I'm now working on building the camera and sensor files from source.
In your chicdk-kt_1.0.qcom.bbappend file in your Yocto layer, there is a reference to CriticalLink changes and the nonexistent webpage https://redmine.syr.criticallink.com/redmine/projects/mitysom_qcs6490/wiki/Camera_Notes .
Can you tell me what version of meta-qcom-extras you used for your changes, and what the changes are? Any other info would be appreciated as well.
Replies (11)
RE: Camera driver development - Added by Noah Zins 14 days ago
Hi Nathan,
We used the r1.0_00095.0 release of Qualcomm_Linux.SPF.1.0|AP|Standard|OEM|NM_QIMPSDK for our firmware development. It contains the r1.0_00376 release of QCM6490.LE.1.0 where the meta-qcom-extras layer resides. These versions correspond with QC Linux 1.5.
Note that there is a limitation with QC Linux 1.5 that does not allow simultaneous streaming from more than 3 cameras, so we're migrating to a newer version in an upcoming SDK.
I have found the Linux Camera Guide - Addendum to be the most helpful document by far.
Sorry for the confusion about that link, it is only available internally. I am currently writing up a publicly available instruction document for this process. I hope to have it published tomorrow.
--
In short, you need to modify two recipes. I found using devtool (per the Camera Guide - Addendum) to be helpful.
devtool modify chicdk-kt
- Copy the existing cmk_ov9282_cam*.xml file at \${CAMX_CHICDK_PATH}/oem/qcom/module to add additional module XMLs with unique cameraId values.
- Add cmake files that correspond to these new XMLs at \${CAMX_CHICDK_PATH}/oem/qcom/buildbins/build/linuxembedded/binary_yupik/
- Modify ${CAMX_CHICDK_PATH}/oem/qcom/multicamera/chimcxcameraconfig/configs/kodiak/kodiak_dc.xml to match my desired configuration, and removed all other XMLs in this directory.
Note in kodiak_dc.xml the slotId property must match the cameraId property from the module XML file. The cameraId value is the CSI interface number. - Build and install chicdk-kt ipk according to the Addendum.
--
For the device tree:
devtool modify cameradtb
- open mitysom-qc6490-devkit-camera-sensor.dtsi
- Copy an existing node for the ov9281, qcom,cam-sensorX
- X needs to match cameraId from the Module XML.
- If the new camera is going to connect to CSI0 or CSI1, paste the new node under &cam_cci0, if its CSI2-4, then it goes under &cam_cci1
- Update cell-index to match X from above.
- Update csiphy-sd-index to match CSIx number the camera will be connected to.
- Update csi-master:
- CSI0 and CSI2 use csi-master = <0>
- CSI1, CSI3, and CSI4 use csi-master = <1>
Let me know if you have further questions about camera development, I will update this post when I've published an official page for this process.
Thanks,
Noah
RE: Camera driver development - Added by Noah Zins 12 days ago
Hi Nathan,
It is posted here: https://support.criticallink.com/redmine/projects/mitysom_qc6490/wiki/Camera_Config
Please don't hesitate to reach out if you have further questions!
Thanks,
Noah
RE: Camera driver development - Added by Nathan Olson 7 days ago
Thanks, Noah.
I'm trying to bring up a new sensor, and no luck so far. To simplify things, I've removed all camera modules except mine, and removed all multicamera configs except mine, which has a single camera at cameraId 0, slot 0, CSI0. It does not find the camera , and I don't see any traffic on CSI0's I2C.
Attached are my patches and the resulting verbose cam-server log (except for the sensor driver xml, which I can share privately if needed). Any ideas where to look for the problem?
Here's some things I notice in the log:- Sensors 0-12 are "probed", although there is only one camera in the camera config and only one camera in the device tree.
- in ProbeSensor(), some sensors are "unsupported" and some "time out". Which of these sensors is my sensor, and which of theses error messages apply?
- The correct multicamera config "kodiak_lab308_spc_v1.xml" is selected.
- 'Can't build "RearPhysicalCam0_LogicalImpl". Failed to find slotId 0'. 0 is the correct slotId.
- 'ImageSensorModuleData() module0 : cameraId 0 chromatix name lab308_tc358746': This seems promising.
| chicdk-kt_1.0.qcom.bbappend (352 Bytes) chicdk-kt_1.0.qcom.bbappend | |||
| cameradtb.patch (9.2 KB) cameradtb.patch | |||
| tc358746.patch (6.55 KB) tc358746.patch | |||
| lab308_tc358746_fail.log (222 KB) lab308_tc358746_fail.log |
RE: Camera driver development - Added by Noah Zins 7 days ago
Hi Nathan,
I too have noticed the probing of sensors 0-12, I have not looked into it but we see this same behavior. I expect your sensor to be 0.
If your sensor XML has the correct I2C address, I2C speed, sensor ID, and sensor ID register address in the sensor XML then I think you should see a successful probe on the I2C lines, and a successful probe message from ProbeSensor().
Can you share the XML with me?
I believe 'Can't build "RearPhysicalCam0_LogicalImpl". Failed to find slotId 0' is due to the lack of a successful I2C probe.
Why did you remove the properties cam_vio-supply, regulator-names, power-domains etc. from the DT? Do you see different behavior if you uncomment these?
Lastly, ensure you do a clean build of chicdk-kt each time with bitbake -fc cleanall chicdk-kt. I have observed weird behavior a few times in the past that was resolved with a clean build of chicdk-kt.
Thanks,
Noah
RE: Camera driver development - Added by Nathan Olson 7 days ago
I removed the power-related fields because my camera is powered by an always-on supply, and I was trying to simplify things as much as possible. I'll try adding that stuff back, in particular power-domains seems like it might be important. I'll also make sure to do a clean build.
I'll send the sensor XML in an email.
RE: Camera driver development - Added by Noah Zins about 20 hours ago
Hi Nathan,
Did you see any different behavior with the power fields reinstated?
I noticed your sensor XML has no pixel/resolution information which I would think is necessary.
Thanks,
Noah
RE: Camera driver development - Added by Nathan Olson about 19 hours ago
Hi Noah, I'm trying to match the version you used for your camx modifications, but I can't find r1.0_00095.0. Any clues? (and where does r1.0_00376 fit in?)
root@1f8e83e627aa:/v95# git clone https://qpm-git.qualcomm.com/home2/git/qualcomm/qualcomm-linux-spf-1-0_hlos_oem_metadata.git -b r1.0_00095.0 --depth 1 Cloning into 'qualcomm-linux-spf-1-0_hlos_oem_metadata'... warning: redirecting to https://git-lv-prd.chipcode.qti.qualcomm.com/48806e95ebfda43f1b007c373ea01d08/qualcomm/qualcomm-linux-spf-1-0_hlos_oem_metadata.git/ warning: Could not find remote branch r1.0_00095.0 to clone. fatal: Remote branch r1.0_00095.0 not found in upstream origin
Existing tags:
root@1f8e83e627aa:/qualcomm-linux-spf-1-0_hlos_oem_metadata# git tag ... r1.0_00077.0 r1.0_00091.0 r1.0_00092.0 r1.0_00097.0 r1.0_00101.0 r1.0_00104.0 r1.0_00105.0 r1.0_00107.0 ...
RE: Camera driver development - Added by Nathan Olson about 19 hours ago
Noah Zins wrote in RE: Camera driver development:
Did you see any different behavior with the power fields reinstated?
I'm making some progress, but still not seeing an attempt to probe my sensor. I am seeing attempts to probe imx577, imx415, and imx519, so I'm working on figuring out what is different about those sensors. Here's some recent dmesg outputs, which shows the timeouts for imx577, imx415, and imx519, and the failures on other sensors. My current theory is that there is a problem with using the prebuilt camx and building chicdk from source (version mismatch?). I'm currently attempting to build camx from source as well but no luck so far.
[ 5.127285] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 7.216681] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 7.758403] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35: rc = -22 [ 7.758405] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 811: read id: 0x0 expected id 0x577: [ 7.792595] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 56: Failed in Driver cmd: -19 [ 7.794520] CAM_ERR: CAM-SENSOR: cam_sensor_core_power_up: 2172: clk enable failed [ 7.794522] CAM_ERR: CAM-SENSOR: cam_sensor_core_power_up: 2285: failed [ 7.794527] CAM_ERR: CAM-SENSOR: cam_sensor_power_up: 1377: power up the core is failed:-16 [ 7.794529] CAM_ERR: CAM-SENSOR: cam_sensor_driver_cmd: 889: power up failed [ 7.794531] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 56: Failed in Driver cmd: -16 [ 8.049149] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 8.336408] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35: rc = -22 [ 8.336415] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 811: read id: 0x0 expected id 0xca08: [ 8.364786] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 56: Failed in Driver cmd: -19 [ 8.378992] CAM_ERR: CAM-SENSOR: cam_cci_i2c_read: 35: rc = -22 [ 8.379002] CAM_WARN: CAM-SENSOR: cam_sensor_match_id: 811: read id: 0x0 expected id 0x519: [ 8.413082] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 56: Failed in Driver cmd: -19 [ 8.437484] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 9.066142] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 9.721072] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888
I noticed your sensor XML has no pixel/resolution information which I would think is necessary.
Thanks, I'll take a look at that.
RE: Camera driver development - Added by Nathan Olson about 18 hours ago
Nathan Olson wrote in RE: Camera driver development:
My current theory is that there is a problem with using the prebuilt camx and building chicdk from source (version mismatch?). I'm currently attempting to build camx from source as well but no luck so far.
Hmm, maybe building camx from source is not possible in r1.0_00097.0? (I'm using v97 because it's the closest I've found to v95). The following lines in meta-qcom-extras/conf/layer.conf mask it, and when I unmask it the build fails.
BBMASK += "meta-qcom-extras/recipes-multimedia/camx/camx-kt_1.0.qcom.bb" BBMASK += "meta-qcom-extras/recipes-multimedia/camx/camx_1.0.qcom.bb"
RE: Camera driver development - Added by Nathan Olson about 13 hours ago
After rolling chicdk and chicdk-kt back to r1.0_00092.0, I am able to successfully probe my sensor. Onward!
RE: Camera driver development - Added by Nathan Olson about 12 hours ago
Here's where I've gotten to. The sensor is probed successfully but there are a bunch of other errors that don't mean anything to me.
root@qcs6490-mitysom-carrier:~# dmesg | grep -i cam [ 0.000000] OF: reserved mem: 0x0000000084300000..0x00000000847fffff (5120 KiB) nomap non-reusable camera@84300000 [ 5.110411] msm_cam_smmu soc@0:qcom,cam_smmu:msm_cam_smmu_lrme: Adding to iommu group 28 [ 5.111518] msm_cam_smmu soc@0:qcom,cam_smmu:msm_cam_smmu_cpas_cdm: Adding to iommu group 29 [ 5.111843] msm_cam_smmu soc@0:qcom,cam_smmu:msm_cam_smmu_icp: Adding to iommu group 30 [ 5.112477] msm_cam_smmu soc@0:qcom,cam_smmu:msm_cam_smmu_jpeg: Adding to iommu group 31 [ 5.113061] msm_cam_smmu soc@0:qcom,cam_smmu:msm_cam_smmu_ife: Adding to iommu group 32 [ 5.128007] CAM_INFO: CAM-CRM: cam_req_mgr_component_master_bind: 897: All probes done, binding slave components [ 5.128436] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-sync (ops cam_sync_component_ops [camera_qcm6490]) [ 5.128564] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu (ops cam_smmu_component_ops [camera_qcm6490]) [ 5.128622] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_secure (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.128719] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_lrme (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.128837] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_cpas_cdm (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.128916] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_icp (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.128961] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_icp_fw (ops cam_smmu_fw_dev_component_ops [camera_qcm6490]) [ 5.129030] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_jpeg (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.129103] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam_smmu:msm_cam_smmu_ife (ops cam_smmu_cb_component_ops [camera_qcm6490]) [ 5.130671] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x4 addr 0x7801fc, mask 0x10, shift 0x4 type 0x0 hw_map 0x4 [ 5.130684] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 539: fuse_addr 0x7801fc, fuse_val 70000 [ 5.130686] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x4 enable=1 hw_map=0x4 [ 5.130691] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x6 addr 0x7801fc, mask 0x20, shift 0x5 type 0x0 hw_map 0x10 [ 5.130694] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x6 enable=1 hw_map=0x10 [ 5.130700] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x7 addr 0x7801fc, mask 0x40, shift 0x6 type 0x0 hw_map 0xff [ 5.130703] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x7 enable=1 hw_map=0xff [ 5.130705] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x0 addr 0x7801fc, mask 0x80, shift 0x7 type 0x0 hw_map 0xff [ 5.130708] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x0 enable=1 hw_map=0xff [ 5.130710] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x8 addr 0x7801fc, mask 0x100, shift 0x8 type 0x0 hw_map 0x10 [ 5.130713] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x8 enable=1 hw_map=0x10 [ 5.130718] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 515: feature 0x9 addr 0x7801a4, mask 0x10000000, shift 0x1c type 0x0 hw_map 0xff [ 5.130721] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 539: fuse_addr 0x7801a4, fuse_val 20000000 [ 5.130722] CAM_INFO: CAM-CPAS: cam_cpas_get_hw_features: 598: feature 0x9 enable=1 hw_map=0xff [ 5.132912] CAM_INFO: CAM-SMMU: cam_smmu_need_force_alloc_cached: 383: force_cache_allocs=1 [ 5.132928] CAM_ERR: CAM-MEM: cam_mem_mgr_get_dma_heaps: 485: qcom,display heap not found, rc=0 [ 5.132986] CAM_WARN: CAM-CRM: cam_req_mgr_close: 189: release invoked associated userspace process has died, open_cnt: 1 [ 5.133874] CAM_INFO: CAM-CPAS: cam_cpas_hw_get_hw_info: 1862: fuse info->num_fuses 2 [ 5.134027] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac40000.qcom,cam-cpas (ops cam_cpas_dev_component_ops [camera_qcm6490]) [ 5.134327] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-cdm-intf (ops cam_cdm_intf_component_ops [camera_qcm6490]) [ 5.138234] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac48000.qcom,cpas-cdm0 (ops cam_hw_cdm_component_ops [camera_qcm6490]) [ 5.138532] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 485, comm v4l_id [ 5.138952] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acc1000.qcom,csid2 (ops cam_ife_csid_component_ops [camera_qcm6490]) [ 5.139264] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acba000.qcom,csid1 (ops cam_ife_csid_component_ops [camera_qcm6490]) [ 5.139556] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acb3000.qcom,csid0 (ops cam_ife_csid_component_ops [camera_qcm6490]) [ 5.139899] cam_req_mgr soc@0:qcom,cam-req-mgr: bound accf000.qcom,csid-lite1 (ops cam_ife_csid_component_ops [camera_qcm6490]) [ 5.140135] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acc8000.qcom,csid-lite0 (ops cam_ife_csid_component_ops [camera_qcm6490]) [ 5.140919] cam_req_mgr soc@0:qcom,cam-req-mgr: bound accb000.qcom,vfe-lite1 (ops cam_vfe_component_ops [camera_qcm6490]) [ 5.141610] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acc4000.qcom,vfe-lite0 (ops cam_vfe_component_ops [camera_qcm6490]) [ 5.142489] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acbd000.qcom,vfe2 (ops cam_vfe_component_ops [camera_qcm6490]) [ 5.143409] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acb6000.qcom,vfe1 (ops cam_vfe_component_ops [camera_qcm6490]) [ 5.144253] cam_req_mgr soc@0:qcom,cam-req-mgr: bound acaf000.qcom,vfe0 (ops cam_vfe_component_ops [camera_qcm6490]) [ 5.144418] CAM_ERR: CAM-ISP: cam_vfe_hw_init: 228: inval param [ 5.144421] CAM_ERR: CAM-ISP: cam_vfe_hw_init: 228: inval param [ 5.144423] CAM_ERR: CAM-ISP: cam_ife_hw_mgr_init: 8532: no valid IFE TPG HW [ 5.144864] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-isp (ops cam_isp_dev_component_ops [camera_qcm6490]) [ 5.144942] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-res-mgr (ops cam_res_mgr_component_ops [camera_qcm6490]) [ 5.145642] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac4b000.qcom,cci1 (ops cam_cci_component_ops [camera_qcm6490]) [ 5.146096] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac4a000.qcom,cci0 (ops cam_cci_component_ops [camera_qcm6490]) [ 5.146981] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ace8000.qcom,csiphy4 (ops cam_csiphy_component_ops [camera_qcm6490]) [ 5.147958] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ace6000.qcom,csiphy3 (ops cam_csiphy_component_ops [camera_qcm6490]) [ 5.148965] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ace4000.qcom,csiphy2 (ops cam_csiphy_component_ops [camera_qcm6490]) [ 5.149572] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-isp from pid 489 comm v4l_id [ 5.150176] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ace2000.qcom,csiphy1 (ops cam_csiphy_component_ops [camera_qcm6490]) [ 5.152390] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ace0000.qcom,csiphy0 (ops cam_csiphy_component_ops [camera_qcm6490]) [ 5.154288] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 5.154445] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 5.155722] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 5.155715] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac4a000.qcom,cci0:qcom,cam-sensor0 (ops cam_sensor_component_ops [camera_qcm6490]) [ 5.156228] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac00000.qcom,a5 (ops cam_a5_component_ops [camera_qcm6490]) [ 5.156479] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac87000.qcom,ipe0 (ops cam_ipe_component_ops [camera_qcm6490]) [ 5.156696] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac6f000.qcom,bps (ops cam_bps_component_ops [camera_qcm6490]) [ 5.157246] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-icp (ops cam_icp_component_ops [camera_qcm6490]) [ 5.157537] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac4e000.qcom,jpegenc (ops cam_jpeg_enc_component_ops [camera_qcm6490]) [ 5.157723] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac52000.qcom,jpegdma (ops cam_jpeg_dma_component_ops [camera_qcm6490]) [ 5.158163] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-jpeg (ops cam_jpeg_dev_component_ops [camera_qcm6490]) [ 5.158823] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 5.159070] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 5.160605] cam_req_mgr soc@0:qcom,cam-req-mgr: bound ac6b000.qcom,lrme (ops cam_lrme_hw_dev_component_ops [camera_qcm6490]) [ 5.160939] cam_req_mgr soc@0:qcom,cam-req-mgr: bound soc@0:qcom,cam-lrme (ops cam_lrme_component_ops [camera_qcm6490]) [ 5.161136] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 5.161387] CAM_INFO: CAM-UTIL: camera_init: 306: Spectra camera driver initialized [ 5.165311] CAM_ERR: CAM-MEM: cam_mem_mgr_request_mem: 1546: failed. mem_mgr not initialized [ 5.165320] CAM_ERR: CAM-ICP: cam_icp_allocate_hfi_mem: 2887: Unable to allocate qtbl memory [ 5.165716] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 97: FW download failed [ 5.167345] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 500 comm v4l_id [ 5.168914] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 499 comm v4l_id [ 7.324464] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 1006, comm gst-plugin-scan [ 7.324499] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-isp from pid 1006 comm gst-plugin-scan [ 7.324523] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 1006 comm gst-plugin-scan [ 7.324542] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 7.324560] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 7.324576] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 7.324594] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 7.324610] CAM_ERR: CAM-CSIPHY: cam_csiphy_subdev_ioctl: 128: Wrong ioctl : -2140645888 [ 7.324629] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 7.325423] CAM_ERR: CAM-MEM: cam_mem_mgr_request_mem: 1546: failed. mem_mgr not initialized [ 7.325428] CAM_ERR: CAM-ICP: cam_icp_allocate_hfi_mem: 2887: Unable to allocate qtbl memory [ 7.325821] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 97: FW download failed [ 7.325850] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 1006 comm gst-plugin-scan [ 7.325891] CAM_INFO: CAM-SMMU: cam_smmu_need_force_alloc_cached: 383: force_cache_allocs=1 [ 7.325897] CAM_ERR: CAM-MEM: cam_mem_mgr_get_dma_heaps: 485: qcom,display heap not found, rc=0 [ 7.325928] CAM_WARN: CAM-CRM: cam_req_mgr_close: 189: release invoked associated userspace process has died, open_cnt: 1 [ 7.325933] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 79: shutdown device failed(rc = -22) for cam-isp [ 7.325936] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 79: shutdown device failed(rc = -22) for cam-lrme [ 7.325938] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 79: shutdown device failed(rc = -22) for cam-jpeg [ 7.325944] CAM_WARN: CAM-CPAS: __cam_cpas_subdev_close: 692: device already closed, open_cnt: 0 [ 7.692842] CAM_INFO: CAM-SMMU: cam_smmu_need_force_alloc_cached: 383: force_cache_allocs=1 [ 7.692854] CAM_ERR: CAM-MEM: cam_mem_mgr_get_dma_heaps: 485: qcom,display heap not found, rc=0 [ 7.698529] CAM_INFO: CAM-ICP: cam_a5_download_fw: 205: Downloading firmware CAMERA_ICP_170.elf [ 7.700357] CAM_INFO: CAM-HFI: cam_hfi_init: 841: Init IO1 : [0x10c00000 0xcf300000] IO2 [0x0 0x0] [ 7.710473] CAM_INFO: CAM-HFI: cam_hfi_init: 874: fw version : [0] [ 7.710525] CAM_INFO: CAM-ICP: cam_icp_mgr_process_dbg_buf: 2522: FW_DBG:CICP_FW_E : HFI :QC_IMAGE_VERSION_STRING=CICP.FW.4.0-00008,OEM_IMAGE_VERSION_STRING=CRM,BUILD_TIME: Aug 2 2021 21:36:44,CACHE_ENABLED at icphostinterface.c:631 QC_IMAGE_VERSION_STRING=CICP.FW.4.0-00008 OEM_IMAGE_VERSION_STRING=CRM [ 7.710538] CAM_INFO: CAM-ICP: cam_icp_mgr_process_dbg_buf: 2522: FW_DBG:CICP_FW_E : HFI :ELF variant: CACHE-ENABLED:API_V2:USE_CDM_1_1: , API version: 0x2000098 at icphostinterface.c:632 QC_IMAGE_VERSION_STRING=CICP.FW.4.0-00008 OEM_IMAGE_VERSION_STRING=CRM [ 7.710557] CAM_INFO: CAM-ICP: cam_icp_mgr_hw_open: 3844: FW download done successfully [ 7.864542] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 939: Probe success,slot:0,slave_addr:0x1c,sensor_id:0x44, is always on: 0 [ 8.075163] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 1172, comm gst-plugin-scan [ 8.075187] CAM_ERR: CAM-ISP: cam_isp_subdev_open: 72: ISP subdev is already opened [ 8.075207] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 1172 comm gst-plugin-scan [ 8.075277] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 8.075290] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 83: ICP subdev is already opened [ 8.075304] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 1172 comm gst-plugin-scan [ 8.609165] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 1228, comm gst-plugin-scan [ 8.609206] CAM_ERR: CAM-ISP: cam_isp_subdev_open: 72: ISP subdev is already opened [ 8.609232] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 1228 comm gst-plugin-scan [ 8.609324] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 8.609340] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 83: ICP subdev is already opened [ 8.609358] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 1228 comm gst-plugin-scan [ 9.040978] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 1240, comm gst-plugin-scan [ 9.041046] CAM_ERR: CAM-ISP: cam_isp_subdev_open: 72: ISP subdev is already opened [ 9.041073] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 1240 comm gst-plugin-scan [ 9.041166] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 9.041182] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 83: ICP subdev is already opened [ 9.041201] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 1240 comm gst-plugin-scan [ 9.694665] CAM_ERR: CAM-CPAS: cam_cpas_subdev_ioctl: 735: Invalid command -2140645888 for CPAS! from pid 1258, comm gst-plugin-scan [ 9.694720] CAM_ERR: CAM-ISP: cam_isp_subdev_open: 72: ISP subdev is already opened [ 9.694751] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-lrme from pid 1258 comm gst-plugin-scan [ 9.694865] CAM_ERR: CAM-SENSOR: cam_sensor_subdev_ioctl: 68: Invalid ioctl cmd: -2140645888 [ 9.694885] CAM_ERR: CAM-ICP: cam_icp_subdev_open: 83: ICP subdev is already opened [ 9.694912] CAM_ERR: CAM-CORE: cam_subdev_ioctl: 84: Invalid command -2140645888 for cam-jpeg from pid 1258 comm gst-plugin-scan
root@qcs6490-mitysom-carrier:~# journalctl -u cam-server Jan 08 18:22:57 qcs6490-mitysom-carrier systemd[1]: Starting Camera Server Service... Jan 08 18:22:58 qcs6490-mitysom-carrier sh[1038]: /bin/sh: line 1: selinuxenabled: command not found Jan 08 18:22:58 qcs6490-mitysom-carrier systemd[1]: Started Camera Server Service. Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 0 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 1 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 2 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 3 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 4 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 5 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 6 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : ThreadPool: Pool start thread 7 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : RecorderImpl: Enter Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : RecorderImpl: Exit Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : CreateRecorder: Recorder Instance Created Successfully(0x0x55aef04ff0) Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [WARN]: RecorderService : SetupSocket: unlink failure for path(/tmp/socket/cam_server/le_cam_socket) No such file or directory, errno: 2 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : Server is listening... Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : Init: Enter Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderCameraSource : CameraSource: Enter Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderCameraContext : CameraContext: Enter Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: /usr/src/debug/fastrpc/15.0.qcom/src/rpcmem_android.c:209: set up allocator 0x55aeefcca0 for DMA buf heap system, ION heap system, heap mask 0x2000000, flags 0x1, legacy flags 0x1 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: /usr/src/debug/fastrpc/15.0.qcom/src/fastrpc_config.c:336: Reading configuration file: cam-server.debugconfig Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: /usr/src/debug/fastrpc/15.0.qcom/src/fastrpc_config.c:367: fastrpc_config_init: Couldn't find file cam-server.debugconfig, errno (No such file or directory) at /usr/lib/rfsa/adsp, /usr/lib/dsp//cdsp, /usr/lib/dsp/, Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: /usr/src/debug/fastrpc/15.0.qcom/src/fastrpc_apps_user.c:4999: fastrpc_apps_user_init done with default domain:3 and &fastrpc_trace:0x7f93d10558 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: /usr/src/debug/fastrpc/15.0.qcom/src/fastrpc_apps_user.c:5113: multidsplib_env_init: libcdsprpc.so loaded Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: HALloaded HAL id=camera path=/usr/lib/hw/camera.qcom.so hmi=0x7f955f0590 handle=0x55aef0b580 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: CameraAdaptor : Initialize: Camera Module author: Qualcomm Technologies, Inc., version: 256 name: QTI Camera HAL Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [HAL ] camxhal3module.cpp:716 HAL3Module() *************************************************** Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [HAL ] camxhal3module.cpp:717 HAL3Module() SHA1: f29780b4dba236c67943c346567f6aca29cd1402 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [HAL ] camxhal3module.cpp:718 HAL3Module() COMMITID: Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [HAL ] camxhal3module.cpp:719 HAL3Module() BUILD TS: 6/21/2025 16:35:30 Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [HAL ] camxhal3module.cpp:720 HAL3Module() *************************************************** Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [CSL ] camxcslhwinternal.cpp:3270 CSLHwInternalFDIoctl() Ioctl failed for FD:5 with error reason Invalid argument Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [CHI ] camxchicomponent.cpp:202 GetAECAlgorithmCallback() Failed to retrieve ChiAECAlgorithmEntry function address. Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [SENSOR ] camximagesensormoduledatamanager.cpp:1097 GenerateProtoBufFile() Xml File : /var/cache/camera/camera_config.xml not found! Jan 08 18:22:58 qcs6490-mitysom-carrier cam-server[1039]: CamX: [WARNING] ParameterParser: 0x55aefa09d8 (com.qti.sensormodule.lab308_tc358746_cam0): parametersetmanager.cpp:2506: GetModule PDConfigData module not found in default scenario (0.0), mode path: 0.0 Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [CORE ] camxtuningdatamanager.cpp:303 CreateTunedModeTree() Couldn't create Tuning Mode Tree! Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [HWL ] camxhwenvironment.cpp:2554 CreateTuningDataManager() Failed to load tuning data for sensor index: 0 Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [HWL ] camxhwenvironment.cpp:817 ProbeImageSensorModules() failed: Create tuning data manager 1 Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [CORE_CFG]1039 1039 [UTILS ] camxosutilslinuxembedded.cpp:2597 SetCoreDumpDirectoryPath() Camera Core Dump: Dir:/var/cache/camera/coredump already exists Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [UTILS ] camxosutilslinuxembedded.cpp:2696 TraceInitOnce() Error opening trace file Jan 08 18:22:59 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ERROR]1039 1039 [CORE ] camxvendortags.cpp:775 VendorTagManager() Locationmap has duplicated entry! Jan 08 18:23:02 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 1! Jan 08 18:23:02 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 1 with error 9 Jan 08 18:23:05 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 2! Jan 08 18:23:05 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 2 with error 9 Jan 08 18:23:08 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 3! Jan 08 18:23:08 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 3 with error 9 Jan 08 18:23:11 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 4! Jan 08 18:23:11 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 4 with error 9 Jan 08 18:23:14 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 8! Jan 08 18:23:14 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 8 with error 9 Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:651 ProbeSensor() Timed out for probing sensor 9! Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CamX: [ WARN]1039 1039 [NCS ] camxncsintfqsee.cpp:274 ListSensors() Probe sensor 9 with error 9 Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [CORE_CFG ] chimcxcameraconfig.cpp:106 PickMatchingCameraXML() Building LogicalCameraInfo from kodiak_lab308_spc_v1.xml based on xml matching Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [CORE_CFG ] chimcxcameraconfig.cpp:110 PickMatchingCameraXML() XML(kodiak_lab308_spc_v1.xml) - distance(2) Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [CORE_CFG ] chimcxcameraconfig.cpp:116 PickMatchingCameraXML() found in xml, sensorId(0) -> sensorName(tc358746) Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [CORE_CFG ] chxextensionmodule.cpp:3079 FillHwDeviceInformation() Building LogicalCameraInfo from _ Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [WARN ] chxlogicalcameras.h:430 isDeviceAvailable() Can't build "RearPhysicalCam0_LogicalImpl". Failed to find slotId 0 Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [ERROR ] chxextensionmodule.cpp:1735 InitializeResourceManager() Failed to create Chi Resource Manager Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [WARN ] chxextensionmodule.cpp:1636 DumpLogicalCameraInfo() Failed to dump camera configuration: Invalid dumpPath or camera info Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: CHIUSECASE 1039 1039 [CORE_CFG ] chxextensionmodule.cpp:1791 GetNumCameras() ExposedNumOfCamera:0, all:0 legacy 0 Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: CameraAdaptor : Initialize: Number of cameras: 0 Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderCameraContext : CameraContext: Exit Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderCameraSource : CameraSource: Exit Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderCameraSource : CreateCameraSource: CameraSource Instance Created Successfully(0x55aeefde90) Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : Init: CameraSource Instance Created Successfully! Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderImpl : Init: Exit Jan 08 18:23:17 qcs6490-mitysom-carrier cam-server[1039]: [INFO]: RecorderService : RecorderService: RecorderService Instantiated!