结论:IMX477 也不能"完美适配"
核心答案:不能。 IMX477 在 RDK X5 上会遇到和你当前 OV5647 完全相同的问题。
关键证据
从社区已有案例来看:
1. 相同的错误模式
在 ov5647 怎么用不了 60 帧 帖子中,官方助手明确说明:
IMX477 也会有同样的问题
结论:如果你的 IMX477 也接在
mipi_host2(vcon@2) 接口上,会遇到完全相同的mclk ignore+hbn_vnode_set_attr failed, ret(-10)错误。
2. IMX477 已有的问题记录
搜索结果显示多个 IMX477 相关帖子:
| 问题 | 帖子 | 状态 |
|---|---|---|
| 无法驱动树莓派 HQ Camera IMX477 | topic/28668 | 需设备树补丁 |
| IMX477 切换分辨率脚本报错 | topic/31457 | 官方文档已更新 |
| IMX477 无法获取原生分辨率 | topic/32846 | 需正确 API 调用 |
| IMX477 掉帧问题 | topic/32373 | 需调整 VBlank 配置 |
问题本质
你遇到的 hbn_vnode_set_attr failed, ret(-10) 错误不是传感器型号问题,而是:
板级设备树配置缺失 (cam_mclk) → ISP/VSE 流水线初始化失败
这个问题与传感器型号无关,只要接在没有正确 mclk 配置的 MIPI 接口上,任何摄像头(OV5647、IMX477、IMX219 等)都会报同样的错误。
建议
不推荐:换 IMX477
- 价格更贵(IMX477 是树莓派 HQ Camera,成本远高于 OV5647)
- 会遇到完全相同的问题,还是需要官方 dtbo 补丁
- 分辨率虽高(1200W vs 500W),但当前连 60fps 都用不了,高分辨率无意义
推荐:解决当前问题
-
先测试 30fps 模式确认硬件连接正常:
cd /app/cdev_demo/vio2display sudo ./vio2display -w 1280 -h 960 -
联系官方获取 dtbo 补丁(参考 topic/35411):
- 提供板卡型号、系统版本、dmesg 日志
- 官方会针对你的 MIPI 接口提供 cam_mclk 配置补丁
-
如果必须高帧率/高分辨率,等当前问题解决后再考虑:
- OV5647 640x480@60fps 已足够大多数场景
- 真需要 1200W 再考虑 IMX477,但同样需要官方补丁
下一步行动
在你的原帖 换了微雪的 ov5647,怎么用上 60fps 中补充:
# 1. 30fps 测试结果
sudo ./vio2display -w 1280 -h 960
# 2. 完整 dmesg 日志
dmesg | grep -E "csi|mipi|mclk|vin|isp|vse|ov5647" > ~/dmesg_full.log
# 3. 板卡型号
# RDK X5 V1.0 还是 V2.0?(查看 PCB 丝印)
然后@官方支持或地瓜小助手,请求提供针对你板卡的 dtbo 补丁。
不要换摄像头,先解决设备树配置问题。