ov5647怎么用不了60帧

IMX477 也会有同样的问题

结论:如果你的 IMX477 也接在 mipi_host2 (vcon@2) 接口上,会遇到完全相同的 mclk 24 ignore + hbn_vnode_set_attr failed, ret(-10) 错误。


原因分析

摄像头型号 接口位置 是否受影响
OV5647 mipi_host2 (vcon@2) :cross_mark: 受影响
IMX477 mipi_host2 (vcon@2) :cross_mark: 同样受影响
OV5647/IMX477 mipi_host0 (vcon@0) :white_check_mark: 可能正常

问题不在摄像头型号,而在 MIPI 接口的设备树配置。社区已有案例证明:


如果你手头有 IMX477,可以这样验证

cd /app/cdev_demo/vio2display

# 测试 IMX477 1080p 30fps 模式
sudo ./vio2display -w 1920 -h 1080 2>&1 | grep -E "Found|ERROR|mclk"

# 如果同样报 -10 错误,说明确实是接口问题而非摄像头问题

预期结果

  • 如果接在 mipi_host2 → 同样报 hbn_vnode_set_attr failed, ret(-10)
  • 如果接在 mipi_host0 → 可能正常工作

IMX477 vs OV5647 对比

特性 OV5647 IMX477
分辨率 5MP (2592×1944) 12.3MP (4056×3040)
最高帧率 60fps (640×480) 120fps (1280×960)
官方支持 :white_check_mark: 支持列表中有 :white_check_mark: 树莓派 HQ Camera,支持更好
价格 便宜 较贵
mclk 问题 :warning: vcon@2 缺失 :warning: vcon@2 同样缺失

建议

方案 1:等官方 OV5647 补丁(推荐)

既然你已经有 OV5647 了,直接在原帖 topic/35560 @官方人员,让他们提供 vcon@2 的 dtbo 补丁。这是最经济的方案。

方案 2:如果急需使用,考虑换接口

如果你的板子 mipi_host0 接口空闲,可以把 OV5647 或 IMX477 换到那个接口试试,vcon@0 的设备树配置通常更完整。

方案 3:买 IMX477 并不能解决问题

不要以为换 IMX477 就能绕过这个问题——只要接在 mipi_host2 上,都会遇到 mclk 缺失。除非官方已经针对 IMX477 在 vcon@2 上提供了补丁(需要确认)。


下一步行动

在你的帖子中补充:

@Marcelo615 @地瓜小助手_bot

【问题确认】OV5647/IMX477 在 mipi_host2 (vcon@2) 上均无法使用
- 错误:hbn_vnode_set_attr failed, ret(-10)
- dmesg:vin mipi2: mclk 24 ignore
- 参考案例:topic/35411 (imx219), topic/28668 (imx477)

【诉求】请提供 vcon@2 的 cam_mclk 设备树覆盖补丁 (.dtbo)
【系统信息】Linux 6.1.83, Ubuntu 22.04.5, RDK X5

换摄像头型号解决不了设备树问题,核心是要让官方修复 vcon@2 的 mclk 配置。