Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[Core-1126-JD4] 两周都没导通,求教! gc2053 替代 os04a10,sensorid导通但无预览

408

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
408

[Core-1126-JD4] 两周都没导通,求教! gc2053 替代 os04a10,sensorid导通但无预览

发表于 2021-9-13 17:02:43      浏览:12917 | 回复:12        打印      只看该作者   [复制链接] 楼主
# 运行环境:
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
  1.   if (v4l2_ctx->IoCtrl(VIDIOC_S_FMT, &fmt) < 0) {
  2.     RKMEDIA_LOGE("%s, s fmt failed(cap type=%d, %c%c%c%c), %m\n", dev,
  3.                  capture_type, DUMP_FOURCC(fmt.fmt.pix.pixelformat));
  4.     return -1;
  5.   }
复制代码


对应关键 log:

  1. [   86.271582]         [width max:1280 ratio[RKMEDIA][SYS][Info]:#V4L2Ctx: open /dev/video20, fd 106
  2. [RKMEDIA][SYS][Error]:rkispp_scale1, s fmt familed(cap type=1, NV12), Invalaid argument
  3. x:8 min:2]
  4. [  [ KMEDIA][SYS][Info]:#V4L2Ctx: close8 , fd 106
  5. [RKMEDIA][SYS][Info]6:#V4L2Stream: v4l2 ctx reset .to nullptr!
复制代码


附gc2053 和 os04a10 完整串口 log:

https://note.88.uy/gc2053
https://note.88.uy/os04a10
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2021-9-14 09:07:32        只看该作者  沙发
1.请问使用os04a10能正常导通吗?
2.确保没有程序占用摄像头
3.确认输入的摄像头ID是正确的
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2021-9-14 09:10:04        只看该作者  板凳
你运行的是哪个程序?
回复

使用道具 举报

408

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
408
发表于 2021-9-14 09:15:21        只看该作者  地板
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
欢迎与我进行rv1109 rv1126 方面的技术交流.
我的QQ: 712715984
我擅长的: 手机平台的camera driver isp
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2021-9-14 09:54:39        只看该作者  5#
修改 S58_lunch_init 自启动文件,firefly_rkmedia_vi_uvc_double_cameras_test.c 适配的是 gc2053 和 gc2093 双目摄像头。参考源码把其中一个摄像头节点去掉。调试一下应该就能直接用。
回复

使用道具 举报

408

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
408
发表于 2021-9-14 15:41:02        只看该作者  6#
799959745 发表于 2021-9-14 09:54
修改 S58_lunch_init 自启动文件,firefly_rkmedia_vi_uvc_double_cameras_test.c 适配的是 gc2053 和 gc20 ...

您好, 谢谢回复.
也许是我没说清楚, 我再描述清楚.

step1. 用如下配置 os04a10 正常点亮.
  1. # 运行环境:
  2. HW:Core-1126-JD4开发板
  3. SW: @799959745 在https://dev.t-firefly.com/thread-104445-1-1.html 提供的 uvc codebase
复制代码


step2. 在 step1 的基础上, 做如下修改后 无法预览.
  1. 1. HW:把 os04a10 模组更换为 单摄gc2053 模组
  2. 2. SW: 参考如下文档点亮 gc2053 driver, 抓 log 看 sensor id 正常识别<Rockchip_Developer_Guide_Linux_Camera_CN.pdf>
复制代码


我的分析:
通过对比 os04a10 和 gc2053 运行过程的 log
  1.   if (v4l2_ctx->IoCtrl(VIDIOC_S_FMT, &fmt) < 0) {
  2.     RKMEDIA_LOGE("%s, s fmt failed(cap type=%d, %c%c%c%c), %m\n", dev,
  3.                  capture_type, DUMP_FOURCC(fmt.fmt.pix.pixelformat));
  4.     return -1;
  5.   }
复制代码


发现 os04a10 和 gc2053 都是用打开/dev/video20, format 都是fmt familed(cap type=1, NV12)
但 gc22053 报如下错误.
  1. [   86.271582]         [width max:1280 ratio[RKMEDIA][SYS][Info]:#V4L2Ctx: open /dev/video20, fd 106
  2. [RKMEDIA][SYS][Error]:rkispp_scale1, s fmt familed(cap type=1, NV12), Invalaid argument
  3. x:8 min:2]
  4. [  [ KMEDIA][SYS][Info]:#V4L2Ctx: close8 , fd 106
  5. [RKMEDIA][SYS][Info]6:#V4L2Stream: v4l2 ctx reset .to nullptr!
复制代码


完整对比 log 我在一楼有提供, 麻烦帮忙分析.

感激不尽.
欢迎与我进行rv1109 rv1126 方面的技术交流.
我的QQ: 712715984
我擅长的: 手机平台的camera driver isp
回复

使用道具 举报

408

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
408
发表于 2021-9-14 16:54:01        只看该作者  7#
补充分析信息:
结论: gc2053 的 case 下, 打开video20 ,对应rkispp_scale1时报上述错误信息.

分析过程:
继续分析上述对比 log:
os04a10, gc2053 都有两次用 nv12 格式打开video 设备的过程,分别打开了 video19 video20.
当gc2053的 case 时, 打开 video20 设备时才会报上述错误.
从如下信息看, os04a10, gc2053  的video20 都是rkispp_scale1
  1. [root@RV1126_RV1109:/]# grep '' /sys/class/video4linux/video*/name
  2. /sys/class/video4linux/video0/name:stream_cif_mipi_id0
  3. /sys/class/video4linux/video1/name:stream_cif_mipi_id1
  4. /sys/class/video4linux/video10/name:rkisp_rawwr3
  5. /sys/class/video4linux/video11/name:rkisp_rawrd0_m
  6. /sys/class/video4linux/video12/name:rkisp_rawrd2_s
  7. /sys/class/video4linux/video13/name:rkisp_rawrd1_l
  8. /sys/class/video4linux/video14/name:rkisp-statistics
  9. /sys/class/video4linux/video15/name:rkisp-input-params
  10. /sys/class/video4linux/video16/name:rkisp-mipi-luma
  11. /sys/class/video4linux/video17/name:rkispp_input_image
  12. /sys/class/video4linux/video18/name:rkispp_m_bypass
  13. /sys/class/video4linux/video19/name:rkispp_scale0
  14. /sys/class/video4linux/video2/name:stream_cif_mipi_id2
  15. /sys/class/video4linux/video20/name:rkispp_scale1
  16. /sys/class/video4linux/video21/name:rkispp_scale2
  17. /sys/class/video4linux/video22/name:rkispp_iqtool
  18. /sys/class/video4linux/video23/name:rkispp_input_params
  19. /sys/class/video4linux/video24/name:rkispp-stats
  20. /sys/class/video4linux/video25/name:dwc3-gadget
  21. /sys/class/video4linux/video3/name:stream_cif_mipi_id3
  22. /sys/class/video4linux/video4/name:rkcif-mipi-luma
  23. /sys/class/video4linux/video5/name:rkisp_mainpath
  24. /sys/class/video4linux/video6/name:rkisp_selfpath
  25. /sys/class/video4linux/video7/name:rkisp_rawwr0
  26. /sys/class/video4linux/video8/name:rkisp_rawwr1
  27. /sys/class/video4linux/video9/name:rkisp_rawwr2
复制代码
欢迎与我进行rv1109 rv1126 方面的技术交流.
我的QQ: 712715984
我擅长的: 手机平台的camera driver isp
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2021-9-15 10:11:07        只看该作者  8#
dts配置节点了吗?发布出去的 CORE-1126-JD4 代码默认是不配置 gc2053 sensor 的。没有配置的话你可以参照双目摄像头的来配置。
回复

使用道具 举报

408

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
408
发表于 2021-9-20 09:45:14        只看该作者  9#
799959745 发表于 2021-9-15 10:11
dts配置节点了吗?发布出去的 CORE-1126-JD4 代码默认是不配置 gc2053 sensor 的。没有配置的话你可以参照 ...

配置了.
假如没有配置的话, 根本 build 不到 gc2053.

  1. &i2c1 {
  2.         status = "okay";
  3. /*
  4.         os04a10: os04a10@36 {
  5.                 compatible = "ovti,os04a10";
  6.                 reg = <0x36>;
  7.                 clocks = <&cru CLK_MIPICSI_OUT>;
  8.                 clock-names = "xvclk";
  9.                 power-domains = <&power RV1126_PD_VI>;
  10.                 pinctrl-names = "rockchip,camera_default";
  11.                 pinctrl-0 = <&mipicsi_clk0>;
  12.                 avdd-supply = <&vcc_avdd>;
  13.                 dovdd-supply = <&vcc_1v8>;
  14.                 dvdd-supply = <&vcc_dvdd>;
  15.                 pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_LOW>;
  16.                 reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
  17.                 rockchip,camera-module-index = <1>;
  18.                 rockchip,camera-module-facing = "front";
  19.                 rockchip,camera-module-name = "CMK-OT1607-FV1";
  20.                 rockchip,camera-module-lens-name = "M12-40IRC-4MP-F16";
  21.                                 ir-cut = <&cam_ircut0>;

  22.                 port {
  23.                         ucam_out0: endpoint {
  24.                                 remote-endpoint = <&mipi_in_ucam0>;
  25.                                 data-lanes = <1 2 3 4>;
  26.                         };
  27.                 };
  28.         };
  29. */

  30. /*
  31.         gc2093: gc2093@7e {
  32.                         compatible = "galaxycore,gc2093";
  33.                         reg = <0x7e>;
  34.                         clocks = <&cru CLK_MIPICSI_OUT>;
  35.                         clock-names = "xvclk";
  36.                         power-domains = <&power RV1126_PD_VI>;
  37.                         pinctrl-names = "rockchip,camera_default";
  38.                         pinctrl-0 = <&mipicsi_clk0>;
  39.                         avdd-supply = <&vcc_avdd>;
  40.                         dovdd-supply = <&vcc_1v8>;
  41.                         dvdd-supply = <&vcc_dvdd>;
  42.                         pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
  43.                         reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
  44.                         rockchip,camera-module-index = <1>;
  45.                         rockchip,camera-module-facing = "front";
  46.                         rockchip,camera-module-name = "FF-RV1109-2-V1";
  47.                         rockchip,camera-module-lens-name = "40IR-2MP-F20";
  48.                         ir-cut = <&cam_ircut0>;

  49.                         port {
  50.                                         ucam_out0: endpoint {
  51.                                                         remote-endpoint = <&mipi_in_ucam0>;
  52.                                                         data-lanes = <1 2>;
  53.                                         };
  54.                         };
  55.         };
  56.          */


  57.         gc2053: gc2053@37 {
  58.                         compatible = "galaxycore,gc2053";
  59.                         reg = <0x37>;

  60.                         clocks = <&cru CLK_MIPICSI_OUT>;
  61.                         clock-names = "xvclk";
  62.                         power-domains = <&power RV1126_PD_VI>;
  63.                         pinctrl-names = "rockchip,camera_default";
  64.                         pinctrl-0 = <&mipicsi_clk0>;
  65.                         avdd-supply = <&vcc_avdd>;
  66.                         dovdd-supply = <&vcc_1v8>;
  67.                         dvdd-supply = <&vcc_dvdd>;
  68.                         pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
  69.                         reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
  70.                         rockchip,camera-module-index = <1>;

  71.                         rockchip,camera-module-facing = "front";
  72.                         rockchip,camera-module-name = "YT-RV1109-2-V1";
  73.                         rockchip,camera-module-lens-name = "40IR-2MP-F20";
  74.                         ir-cut = <&cam_ircut0>;

  75.                         port {
  76.                                         ucam_out0: endpoint {
  77.                                                         remote-endpoint = <&mipi_in_ucam0>;
  78.                                                         data-lanes = <1 2>;
  79.                                         };
  80.                         };
  81.         };
  82.        
复制代码
欢迎与我进行rv1109 rv1126 方面的技术交流.
我的QQ: 712715984
我擅长的: 手机平台的camera driver isp
回复

使用道具 举报

1万

积分

7

威望

0

贡献

技术大神

Rank: 8Rank: 8

积分
11422

突出贡献

发表于 2021-9-22 09:53:11        只看该作者  10#
ubuntu 发表于 2021-9-20 09:45
配置了.
假如没有配置的话, 根本 build 不到 gc2053.

把你调试修改的文件都打包发上来。看一下。
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表