根据你提供的最新信息,我来帮你深入分析问题:
问题诊断
从错误日志看:
[ERROR] camera init failure
[ERROR] camera validation parameter failed
[ERROR] Can't find device: /dev/sunxi_mipi_csi0
核心问题:MIPI CSI 设备节点未创建成功,说明底层驱动未正确识别摄像头。
关键排查点
1. 拨码开关设置(最可能的问题)
从你的硬件连接照片看,使用的是 双 MIPI 摄像头。S100 的拨码开关需要正确设置:
| MIPI 接口 | SW1 拨码设置 |
|---|---|
| CSI0 单目 | 1-ON, 2-OFF, 3-OFF, 4-OFF |
| CSI1 单目 | 1-OFF, 2-ON, 3-OFF, 4-OFF |
| CSI0+CSI1 双目 | 1-ON, 2-ON, 3-OFF, 4-OFF |
请提供 SW1 拨码开关的清晰照片,确认设置是否正确。
2. 检查 I2C 通信
# 检测 I2C 总线上的摄像头设备
i2cdetect -y 1
# 应该能在 0x10 地址看到设备(GS130W 的 I2C 地址)
# 如果显示 -- 说明 I2C 通信失败
3. 检查设备树和驱动加载
# 查看 MIPI CSI 设备是否注册
ls -la /dev/sunxi_mipi_csi*
# 查看内核日志中的摄像头相关信息
dmesg | grep -i camera
# 查看 MIPI 相关日志
dmesg | grep -i mipi
4. 软件包信息
# 查看 hobot_mipi_cam 包版本
pip show hobot-mipi-cam
# 或查看已安装的包
pip list | grep hobot
建议操作顺序
- 确认拨码开关设置 → 提供清晰照片
- 运行
i2cdetect -y 1→ 查看 I2C 设备列表 - 运行
dmesg | grep -i camera→ 查看内核日志 - 重新插拔排线 → 确保连接牢固
参考资源
请先运行以下命令并把结果发出来:
i2cdetect -y 1
dmesg | grep -i camera
ls -la /dev/sunxi_mipi_csi*
这样我能更准确地定位问题所在。