【Milk-V Duo】摄像头例程启动失败问题处理 handle camera problem: init vi fail

  • 我的摄像头是早期社区赠送的,但一直无法跑通例程。错误提示如下,主要是init vi fail

    [SAMPLE_COMM_VI_StartMIPI]-483: sensor 0 stDevAttr.devno 0
    vi init failed. s32Ret: 0xffffffff !
    init vi fail
    CVI_RTSP_SERVICE_CreateFromJsonFile fail -1
    CVI_RTSP_SERVICE_CreateFromJsonFile[./cfg_64M.json]
    [REMOTE] cvi_raw_dump_run,158: raw dump ready...
    waiting for connect...
    
  • 前几天看见技术群里有大佬说修改/mnt/data下的启动文件即可,试了一下:

    • 首先检查摄像头的i2c地址判断摄像头类型:
      i2cdetect -y 1
      
    • 如果发现没有地址显示出来,先运行一下 ./install/CviIspTool.sh 64M ,关掉之后再检测就有了。
    • 如果显示的是0x37,那就是格科微GC2083,默认就是这个,如果还是不行,那就没办法了,应该是摄像头坏了。
    • 如果显示的是0x30,那就是思特威SC系的摄像头,把 /mnt/data 下的 sensor_cfg_SC035HGS.ini 替换掉 sensor_cfg.ini (技术群大佬说的)
      • 我试了下还是不行。
      • 然后我替换sensor_cfg_default.ini为sensor_cfg.ini 再试了下,就可以了
      • 用vlc访问:rtsp://192.168.42.1:8554/stream0。
  • 也就是说milkv的摄像头是混发的,有三种,分别是

    1. 思特威(SmartSens) 的 SC200AI
    2. 思特威(SmartSens) 的 SC035HGS
    3. 格科微(gcoreinc) 的 GC2083
  • 我手上的这个就是思特威的SC200AI。

前面给极少数人赠送的都是sc200ai,官方卖的是gc2083,你看过sdk 的代码就大概知道三个配置都存在,默认软链接是gc2083。另外送的sc200ai是没有bin的,需要用那个工具去生成

如果你在milk-v duo上连接早期赠送的摄像头,要修改一下配置:

i2cdetect -r -y 1

如果是37,那就是可以正常使用。没法正常使用地址应该是30。
修改一下sensor:

ln -sf /mnt/data/sensor_cfg_SC200AI.ini /mnt/data/sensor_cfg.ini

然后重启,就可以了。
亲测可以!