[Core-1126-JD4] 两周都没导通,求教! gc2053 替代 os04a10,sensorid导通但无预览
# 运行环境:HW:Core-1126-JD4开发板
SW: @799959745 在https://dev.t-firefly.com/thread-104445-1-1.html 提供的 uvc codebase
首先, sensor id 已经读到为 gc2053, 但抓 os04a10 和 gc2053 串口对比 log 发现报错在如下位置, 这里没想明白, 难道参考<Rockchip_Developer_Guide_Linux_Camera_CN.pdf>导通驱动后还有哪里要修改pipeline 才能preview 吗?
external/rkmedia/src/stream/camera/v4l2_capture_stream.cc
if (v4l2_ctx->IoCtrl(VIDIOC_S_FMT, &fmt) < 0) {
RKMEDIA_LOGE("%s, s fmt failed(cap type=%d, %c%c%c%c), %m\n", dev,
capture_type, DUMP_FOURCC(fmt.fmt.pix.pixelformat));
return -1;
}
对应关键 log:
[ 86.271582] :#V4L2Ctx: open /dev/video20, fd 106
:rkispp_scale1, s fmt familed(cap type=1, NV12), Invalaid argument
x:8 min:2]
[[ KMEDIA]:#V4L2Ctx: close8 , fd 106
6:#V4L2Stream: v4l2 ctx reset .to nullptr!
附gc2053 和 os04a10 完整串口 log:
https://note.88.uy/gc2053
https://note.88.uy/os04a10 1.请问使用os04a10能正常导通吗?
2.确保没有程序占用摄像头
3.确认输入的摄像头ID是正确的 你运行的是哪个程序? 799959745 发表于 2021-9-14 09:10
你运行的是哪个程序?
1.请问使用os04a10能正常导通吗?
> 可以啊. 参考 主贴 说明,os04a10 log 在 https://note.88.uy/os04a10
2.确保没有程序占用摄像头
> 参考 step1, os04a10 正常,就是换驱动,sensor. 所以不存在这种情况
3.确认输入的摄像头ID是正确的
> 参考主贴说明, id 都对的. https://note.88.uy/gc2053
4. 你运行的是哪个程序?
> 大佬您写的, 运行在默认 sensor os04a10 正常跑的, 完整程序信息见主贴如下说明:
SW: @799959745 在https://dev.t-firefly.com/thread-104445-1-1.html 提供的 uvc codebase 修改 S58_lunch_init 自启动文件,firefly_rkmedia_vi_uvc_double_cameras_test.c 适配的是 gc2053 和 gc2093 双目摄像头。参考源码把其中一个摄像头节点去掉。调试一下应该就能直接用。 799959745 发表于 2021-9-14 09:54
修改 S58_lunch_init 自启动文件,firefly_rkmedia_vi_uvc_double_cameras_test.c 适配的是 gc2053 和 gc20 ...
您好, 谢谢回复.
也许是我没说清楚, 我再描述清楚.
step1. 用如下配置 os04a10 正常点亮.
# 运行环境:
HW:Core-1126-JD4开发板
SW: @799959745 在https://dev.t-firefly.com/thread-104445-1-1.html 提供的 uvc codebase
step2. 在 step1 的基础上, 做如下修改后 无法预览.
1. HW:把 os04a10 模组更换为 单摄gc2053 模组
2. SW: 参考如下文档点亮 gc2053 driver, 抓 log 看 sensor id 正常识别<Rockchip_Developer_Guide_Linux_Camera_CN.pdf>
我的分析:
通过对比 os04a10 和 gc2053 运行过程的 log
if (v4l2_ctx->IoCtrl(VIDIOC_S_FMT, &fmt) < 0) {
RKMEDIA_LOGE("%s, s fmt failed(cap type=%d, %c%c%c%c), %m\n", dev,
capture_type, DUMP_FOURCC(fmt.fmt.pix.pixelformat));
return -1;
}
发现 os04a10 和 gc2053 都是用打开/dev/video20, format 都是fmt familed(cap type=1, NV12)
但 gc22053 报如下错误.
[ 86.271582] :#V4L2Ctx: open /dev/video20, fd 106
:rkispp_scale1, s fmt familed(cap type=1, NV12), Invalaid argument
x:8 min:2]
[ [ KMEDIA]:#V4L2Ctx: close8 , fd 106
6:#V4L2Stream: v4l2 ctx reset .to nullptr!
完整对比 log 我在一楼有提供, 麻烦帮忙分析.
感激不尽.
补充分析信息:
结论: gc2053 的 case 下, 打开video20 ,对应rkispp_scale1时报上述错误信息.
分析过程:
继续分析上述对比 log:
os04a10, gc2053 都有两次用 nv12 格式打开video 设备的过程,分别打开了 video19 video20.
当gc2053的 case 时, 打开 video20 设备时才会报上述错误.
从如下信息看, os04a10, gc2053的video20 都是rkispp_scale1
# grep '' /sys/class/video4linux/video*/name
/sys/class/video4linux/video0/name:stream_cif_mipi_id0
/sys/class/video4linux/video1/name:stream_cif_mipi_id1
/sys/class/video4linux/video10/name:rkisp_rawwr3
/sys/class/video4linux/video11/name:rkisp_rawrd0_m
/sys/class/video4linux/video12/name:rkisp_rawrd2_s
/sys/class/video4linux/video13/name:rkisp_rawrd1_l
/sys/class/video4linux/video14/name:rkisp-statistics
/sys/class/video4linux/video15/name:rkisp-input-params
/sys/class/video4linux/video16/name:rkisp-mipi-luma
/sys/class/video4linux/video17/name:rkispp_input_image
/sys/class/video4linux/video18/name:rkispp_m_bypass
/sys/class/video4linux/video19/name:rkispp_scale0
/sys/class/video4linux/video2/name:stream_cif_mipi_id2
/sys/class/video4linux/video20/name:rkispp_scale1
/sys/class/video4linux/video21/name:rkispp_scale2
/sys/class/video4linux/video22/name:rkispp_iqtool
/sys/class/video4linux/video23/name:rkispp_input_params
/sys/class/video4linux/video24/name:rkispp-stats
/sys/class/video4linux/video25/name:dwc3-gadget
/sys/class/video4linux/video3/name:stream_cif_mipi_id3
/sys/class/video4linux/video4/name:rkcif-mipi-luma
/sys/class/video4linux/video5/name:rkisp_mainpath
/sys/class/video4linux/video6/name:rkisp_selfpath
/sys/class/video4linux/video7/name:rkisp_rawwr0
/sys/class/video4linux/video8/name:rkisp_rawwr1
/sys/class/video4linux/video9/name:rkisp_rawwr2 dts配置节点了吗?发布出去的 CORE-1126-JD4 代码默认是不配置 gc2053 sensor 的。没有配置的话你可以参照双目摄像头的来配置。 799959745 发表于 2021-9-15 10:11
dts配置节点了吗?发布出去的 CORE-1126-JD4 代码默认是不配置 gc2053 sensor 的。没有配置的话你可以参照 ...
配置了.
假如没有配置的话, 根本 build 不到 gc2053.
&i2c1 {
status = "okay";
/*
os04a10: os04a10@36 {
compatible = "ovti,os04a10";
reg = <0x36>;
clocks = <&cru CLK_MIPICSI_OUT>;
clock-names = "xvclk";
power-domains = <&power RV1126_PD_VI>;
pinctrl-names = "rockchip,camera_default";
pinctrl-0 = <&mipicsi_clk0>;
avdd-supply = <&vcc_avdd>;
dovdd-supply = <&vcc_1v8>;
dvdd-supply = <&vcc_dvdd>;
pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT1607-FV1";
rockchip,camera-module-lens-name = "M12-40IRC-4MP-F16";
ir-cut = <&cam_ircut0>;
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
*/
/*
gc2093: gc2093@7e {
compatible = "galaxycore,gc2093";
reg = <0x7e>;
clocks = <&cru CLK_MIPICSI_OUT>;
clock-names = "xvclk";
power-domains = <&power RV1126_PD_VI>;
pinctrl-names = "rockchip,camera_default";
pinctrl-0 = <&mipicsi_clk0>;
avdd-supply = <&vcc_avdd>;
dovdd-supply = <&vcc_1v8>;
dvdd-supply = <&vcc_dvdd>;
pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "FF-RV1109-2-V1";
rockchip,camera-module-lens-name = "40IR-2MP-F20";
ir-cut = <&cam_ircut0>;
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2>;
};
};
};
*/
gc2053: gc2053@37 {
compatible = "galaxycore,gc2053";
reg = <0x37>;
clocks = <&cru CLK_MIPICSI_OUT>;
clock-names = "xvclk";
power-domains = <&power RV1126_PD_VI>;
pinctrl-names = "rockchip,camera_default";
pinctrl-0 = <&mipicsi_clk0>;
avdd-supply = <&vcc_avdd>;
dovdd-supply = <&vcc_1v8>;
dvdd-supply = <&vcc_dvdd>;
pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "YT-RV1109-2-V1";
rockchip,camera-module-lens-name = "40IR-2MP-F20";
ir-cut = <&cam_ircut0>;
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2>;
};
};
};
ubuntu 发表于 2021-9-20 09:45
配置了.
假如没有配置的话, 根本 build 不到 gc2053.
把你调试修改的文件都打包发上来。看一下。
页:
[1]
2