GS130W (GC130W) MIPI 摄像头在 RDK X5 上的连接与驱动适配

根据社区已有案例和你的问题描述,我来帮你分析并提供解决方案:

核心结论

GC130W 不在 RDK X5 官方支持的传感器列表中,需要自行适配驱动。从你的排查结果看:

  • :white_check_mark: I2C 通信正常(能检测到 0x32/0x33/0x50)
  • :cross_mark: MIPI 数据链路未通(dmesg 显示 No endpoint found for csi
  • :cross_mark: sensorlib 目录为空(缺少 sensor 效果库)

问题诊断与解决步骤

:one: 硬件连接检查(最关键)

从社区案例看,90% 的类似问题都是排线接触不良

# 完全断电(拔掉电源适配器,不是软重启)
# 等待 10 秒让电容放电

# 重新插拔 MIPI 排线:
# 1. 翻开 MIPI 接口锁扣(黑色卡扣,向上翻 90 度)
# 2. 完全拔出排线
# 3. 用无水酒精或橡皮擦清洁金手指
# 4. 重新插入——必须插到底,金属面朝板卡内侧
# 5. 压下锁扣,确认卡住(会听到轻微"咔哒"声)
# 6. 轻轻拉扯排线,确认不会松动

# 通电重启
sudo reboot

# 重启后立即验证
dmesg | grep -E "isp|sensor|gs130|csi.*success"
ls -l /dev/video*

正常输出应该类似:

[ 5.123456] vs_isp_v4l: sensor detected: gs130w
[ 5.234567] vs_csi2_snps 3a040000.csi2: probe successful

:two: 确认 GC130W 是否需要独立供电

检查供电日志:

dmesg | grep -E "regulator|5V|vcc"

如果相机需要独立 5V 供电但未连接,会出现 I2C 通但 MIPI 不通的情况。


:three: 自定义 Sensor 适配流程

如果硬件连接确认无误,GC130W 需要自行适配:

需要准备的材料:

  1. Sensor Datasheet(格科微官方提供)
  2. I2C 寄存器配置表(初始化序列)
  3. MIPI 时序参数
    • Lane 数量(1 lane 或 2 lane)
    • 数据速率(Mbps)
    • 分辨率(1280x1088)
    • 帧率(30fps)
  4. 时钟配置(MCLK 频率)

适配步骤:

步骤 1:添加 Sensor 配置文件

# 在以下目录添加 GC130W 的配置
/opt/tros/humble/lib/mipi_cam/config/

# 参考现有配置文件格式
cat /opt/tros/humble/lib/mipi_cam/config/sc132gs_calibration.yaml

步骤 2:编译 sensorlib 动态库

# 社区案例参考:需要在 hobot-camera 目录下添加驱动文件
# 参考帖子:https://forum.d-robotics.cc/t/topic/27758

# 编译后的 .so 文件放到:
/usr/lib/sensorlib/

步骤 3:修改设备树(可能需要)

# 如果 sensor 未注册到设备树,需要修改设备树
# 添加 CSI endpoint 配置

:four: 官方资源与支持

根据社区回复,sensor 效果库(.so 文件)官方不直接提供,需要:

  1. 参考官方文档

  2. 联系地平线技术支持

    • 提供完整 dmesg 输出
    • 提供 i2cdetect -y 4i2cdetect -y 6 输出
    • 提供排线连接照片
    • 系统版本:cat /etc/version

快速判断流程

┌──────────────────────────────────────┐
│ 重新插拔排线 + 完全断电重启          │
└──────────────┬───────────────────────┘
               │
               ▼
┌──────────────────────────────────────┐
│ dmesg | grep -E "isp|sensor"         │
└──────────────┬───────────────────────┘
               │
       ┌───────┴───────┐
       │               │
   有 sensor 日志    无 sensor 日志
       │               │
       ▼               ▼
┌─────────────┐   ┌─────────────┐
│ 检查配置文件 │   │ 供电/排线问题│
│ 尝试启动相机 │   │ 更换排线测试 │
└─────────────┘   └─────────────┘

建议操作顺序

  1. 先执行硬件排查(重新插拔排线 + 检查供电)
  2. 如果硬件正常,准备 GC130W 的 datasheet 和寄存器配置
  3. 参考社区教程 添加自定义 sensor 配置
  4. 如遇到编译问题,将具体错误信息发到社区求助

相关社区资源

建议先把 dmesg | grep -E "isp|sensor|gs130" 的输出贴出来,确认是硬件问题还是驱动适配问题。