讨论广场 问答详情
4.1release 两路mipi摄像头有一路存在问题
egg 2024-07-22 18:06:49
477 评论 分享

请各位大佬帮忙看看 ,板子上有两路mipi摄像头,前摄是正常的,但是加上后摄之后isp服务起不来,而且有一个应用去切换预览流查看,出来的始终是前摄的画面。用小工具直接去video0和video5抓照片,是两处都能抓到相对应的照片的。

1、在camera_host_config.hcs中已经进行如下配置

ability_01 :: ability {
            logicCameraId = "lcam001";
            physicsCameraIds = [
                "CAMERA_FIRST"
            ];

......

cameraPosition = "OHOS_CAMERA_POSITION_FRONT";

......

ability_02 :: ability {
            logicCameraId = "lcam002";
            physicsCameraIds = [
                "CAMERA_SECOND"
            ];

......

cameraPosition = "OHOS_CAMERA_POSITION_BACK";

2、切换预览流的应用里面也已经显示出来了lcam001(前摄)和lcam002(后摄)

 

附件里面lcam001是能出预览流的hilog lcam002是不能出预览流的log

477 评论 分享
相关文件下载
log.rar
19.61 KB
下载
写回答
全部评论(11)
2 楼

修改project_hardware.h,建议匹配的camera driver名称修改不一致如:

 

 

 

再调整下v4l2_fileformat.cpp中cap.driver的判断即可,自测切换摄像头可用

2024-07-23 17:45:30
2025-05-13 19:42:33
引用:“确认下cap.bus_info,是否一个是platform:rkisp0-vir0 ,另外一个是platform:rkisp1-vir1”
# ./v4l2-ctl-ohos -d /dev/video33 --all Driver Info: Driver name : rkisp_v6 Card type : rkisp_fbcpath Bus info : platform:rkisp1-vir1 Driver version : 2.2.1 这是我在板卡里面查到的,应该就是你说的bus info,除了上面那两处,还需要修改其他地方吗
2025-05-13 19:42:33
2025-05-13 17:58:12
引用:“感谢回复。你的意思是project_hardware.h中修改为{CAMERA_SECOND, DM_M_SENSOR, DM_C_SENSOR, (std::string) "platform:rkisp1-vir1"},在v4l2_fileformat.cppHosV4L2Dev::deviceMatch.insert(std::make_pair(std::string(”
确认下cap.bus_info,是否一个是platform:rkisp0-vir0 ,另外一个是platform:rkisp1-vir1
2025-05-13 17:58:12
2025-05-13 17:50:19
引用:“另外一种改法,可根据cap.bus_info区分, 如{if (cameraId != std::string(reinterpret_cast(cap.))) ,同时需要注意 {CAMERA_SECOND, DM_M_SENSOR, DM_C_SENSOR, (std::string) "platform:rkisp1-vir1"},”
感谢回复。你的意思是project_hardware.h中修改为{CAMERA_SECOND, DM_M_SENSOR, DM_C_SENSOR, (std::string) "platform:rkisp1-vir1"},在v4l2_fileformat.cppHosV4L2Dev::deviceMatch.insert(std::make_pair(std::string(reinterpret_cast(cap.bus_info)), devName));添加bus_info这个属性吗?
2025-05-13 17:50:19
2025-05-13 14:07:16
引用:“你好,我现在就是两个摄像头,但是camera driver是一样的,我按照你这种方式修改了,改成不一样的,v4l2_fileformat.cpp中cap.driver的判断怎么调整呢,目前我的现象是修改后,摄像头不亮了”
另外一种改法,可根据cap.bus_info区分, 如{if (cameraId != std::string(reinterpret_cast(cap.))) ,同时需要注意 {CAMERA_SECOND, DM_M_SENSOR, DM_C_SENSOR, (std::string) "platform:rkisp1-vir1"},
2025-05-13 14:07:16
2025-05-13 10:46:48
你好,我现在就是两个摄像头,但是camera driver是一样的,我按照你这种方式修改了,改成不一样的,v4l2_fileformat.cpp中cap.driver的判断怎么调整呢,目前我的现象是修改后,摄像头不亮了
2025-05-13 10:46:48
2025-03-07 15:10:11
你好,问一下,我们是4.1 Release,前后摄都配置了,但是系统自带的camera app打开没有前后切换按钮,导致没法用前摄,后摄是正常使用的,是自带appp的问题还是其他配置的问题?log里面是有CameraHostInfo::FindCameraDeviceInfo succeed for lcam002
2025-03-07 15:10:11

问题怎么解决的呢?

2025-04-28 11:25:23
1 楼

01-18 16:51:24.529   610  1982 E C02513/camera_hdi_service: HandleRequest() HandleRequest streamId = [1] and needCancel = [0]
01-18 16:51:24.531   610  1983 E C02513/camera_hdi_service: V4L2StreamOn() error: ioctl VIDIOC_STREAMON failed: No such device
01-18 16:51:24.531   610  1983 E C02513/camera_hdi_service: StartStream() error: StartStream: V4L2StreamOn error
01-18 16:51:24.531   610  1983 E C02513/camera_hdi_service: CollectBuffers() provide buffer failed.

没有找到这个设备,导致获取不到流

2024-07-23 10:47:46
2024-07-23 15:04:47
引用:“好的,我看一下,我看log里面是有CameraHostInfo::FindCameraDeviceInfo succeed for lcam002的,同时dev下面也有了media0 media1和video0~video9,怎么还是找不到设备呢”
那应该不是设备没获取到,应该是第二个摄像头起来服务的时候 isp就崩了,你用小工具抓的时候应该没有走isp吧,可以看一下有没有isp先关的crash板子里面
2024-07-23 15:04:47
2024-07-23 11:56:57
好的,我看一下,我看log里面是有CameraHostInfo::FindCameraDeviceInfo succeed for lcam002的,同时dev下面也有了media0 media1和video0~video9,怎么还是找不到设备呢
2024-07-23 11:56:57
查看全部11条回答/评论