Issues with the Duo Camera Module

Hi, I’ve just received my second Duo as well as an IOB and camera module. For some reason the camera module test program keeps failing and I don’t know why. This is what it outputs:

[root@milkv-duo]/mnt/data/install# ./CviIspTool.sh 64M
pin PAD_MIPIRX1P
func IIC1_SDA
register: 30010f0
value: 4
pin PAD_MIPIRX0N
func IIC1_SCL
register: 30010f4
value: 4
MMF Version:7e0cc6a08-musl_riscv64
[6]level = 3
[6]isEnableSetPQBin = 1
[6]SDR_PQBinName = /mnt/data/bin/cvi_sdr_bin
[6]WDR_PQBinName = /mnt/data/bin/cvi_wdr_bin
[6]isEnableSetSnsCfg = 1
[6]SnsCfgPath = ./sensor_cfg.ini
[6]Set log level[3] done
[SAMPLE_COMM_SNS_ParseIni]-1938: Parse ./sensor_cfg.ini
[SAMPLE_COMM_SNS_ParseIni]-1948: ./sensor_cfg.ini Not Found
[SAMPLE_COMM_SNS_ParseIni]-1950: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1605: devNum =  1
[parse_sensor_name]-1686: sensor =  GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1714: bus_id =  1
[parse_sensor_i2caddr]-1725: sns_i2c_addr =  37
[parse_sensor_mipidev]-1736: mipi_dev =  0
[parse_sensor_laneid]-1747: Lane_id =  3, 2, 4, -1, -1
[parse_sensor_pnswap]-1758: pn_swap =  0, 0, 0, 0, 0
[6]Sensor Config ini parse fail
[SAMPLE_COMM_SNS_ParseIni]-1938: Parse ./sensor_cfg.ini
[SAMPLE_COMM_SNS_ParseIni]-1948: ./sensor_cfg.ini Not Found
[SAMPLE_COMM_SNS_ParseIni]-1950: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1605: devNum =  1
[parse_sensor_name]-1686: sensor =  GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1714: bus_id =  1
[parse_sensor_i2caddr]-1725: sns_i2c_addr =  37
[parse_sensor_mipidev]-1736: mipi_dev =  0
[parse_sensor_laneid]-1747: Lane_id =  3, 2, 4, -1, -1
[parse_sensor_pnswap]-1758: pn_swap =  0, 0, 0, 0, 0
[6]Sensor Config ini parse fail
set CVI_RTSP_MODE as 0[0:multiSensors->oneRtsp 1:multiSensors->multiRtsp]
// : "if run sbm mode, set vi-vpss-mode 1 set venc-bind-vpss true"
buf1-blk-cnt : 0
dev-num : 1
model : "./cvi_models/retinaface_mnet0.25_342_608.cvimodel"
rtsp-port : 8554
sbm : 0
sbm-buf-line : 64
sbm-buf-size : 16
vi-vpss-mode : 1
video-src-info : [{"bitrate":2000,"bitstream-buf-size":524288,"buf-blk-cnt":5,"chn":0,"codec":"265","compress-mode":"tile","enable-isp-info-osd":false,"enable-retinaface":false,"gop":50,"rc-mode":0,"venc-bind-vpss":false,"venc_json":"./vc_param_64M.json"},{"bitrate":5000,"buf-blk-cnt":5,"chn":1,"codec":"265","compress-mode":"tile","enable-isp-info-osd":false,"enable-retinaface":false,"gop":50,"venc-bind-vpss":false,"venc_json":"/mnt/data/vc_param.json"}]
[SAMPLE_COMM_SNS_ParseIni]-1938: Parse ./sensor_cfg.ini
[SAMPLE_COMM_SNS_ParseIni]-1948: ./sensor_cfg.ini Not Found
[SAMPLE_COMM_SNS_ParseIni]-1950: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1605: devNum =  1
[parse_sensor_name]-1686: sensor =  GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1714: bus_id =  1
[parse_sensor_i2caddr]-1725: sns_i2c_addr =  37
[parse_sensor_mipidev]-1736: mipi_dev =  0
[parse_sensor_laneid]-1747: Lane_id =  3, 2, 4, -1, -1
[parse_sensor_pnswap]-1758: pn_swap =  0, 0, 0, 0, 0
SAMPLE_COMM_VI_ParseIni Failed!
*** dev_num:1
*** rtspPort:8554
*** rtsp_max_buf_size:1048576
*** vi_vpss_mode:1
*** buf1_blk_cnt:0
*** model_path:./cvi_models/retinaface_mnet0.25_342_608.cvimodel
*** enable_set_sensor_config:0
*** sensor_config_path:/mnt/data/sensor_cfg.ini
*** isp_debug_lvl:255
*** enable_set_pq_bin:0
*** sdr_pq_bin_path:
*** wdr_pq_bin_path:
**** video_src_info[0]
**** - rtspURL:stream
**** - ViChn:0
**** - buf_blk_cnt:5
**** - bEnable3DNR:1
**** - bEnableLSC:1
**** - bVpssBinding:1
**** - VpssChn:0
**** - enableIspInfoOsd:0
**** - compress_mode:1
**** - bVencBindVpss:0
**** - enableRetinaFace:0
**** - venc_cfg.codec:265
**** - venc_cfg.bsMode:0
**** - venc_cfg.rcMode:0
**** - venc_cfg.gop:50
**** - venc_cfg.iqp:38
**** - venc_cfg.pqp:38
**** - venc_cfg.bitrate:1000
**** - venc_cfg.maxbitrate:8192
**** - venc_cfg.firstFrmstartQp:34
**** - venc_cfg.initialDelay:1000
**** - venc_cfg.u32ThrdLv:2
**** - venc_cfg.h264EntropyMode:1
**** - venc_cfg.maxIprop:10
**** - venc_cfg.maxQp:51
**** - venc_cfg.minQp:20
**** - venc_cfg.maxIqp:51
**** - venc_cfg.minIqp:20
**** - venc_cfg.s32IPQpDelta:2
**** - venc_cfg.s32ChangePos:90
**** - venc_cfg.s32MinStillPercent:20
**** - venc_cfg.u32MaxStillQP:38
**** - venc_cfg.u32MotionSensitivity:24
**** - venc_cfg.s32AvbrFrmLostOpen:0
**** - venc_cfg.s32AvbrFrmGap:1
**** - venc_cfg.s32AvbrPureStillThr:4
**** - venc_cfg.bitstreamBufSize:524288
**** - venc_cfg.aspectRatioInfoPresentFlag:0
**** - venc_cfg.overscanInfoPresentFlag:0
**** - venc_cfg.videoSignalTypePresentFlag:0
**** - venc_cfg.videoFormat:0
**** - venc_cfg.videoFullRangeFlag:0
**** - venc_cfg.colourDescriptionPresentFlag:0
enable online mode 1
ISP Vipipe(0) Allocate pa(0x83364000) va(0x0x3fc064a000) size(290968)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 25.000000 wdrMode 0 pstSnsObj 0x3fc0aa4878
[SAMPLE_COMM_VI_StartMIPI]-483: sensor 0 stDevAttr.devno 0
awbInit ver 6.7@10121100
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===GC2083 1080P 30fps 10bit LINE Init OK!===
********************************************************************************
cvi_bin_isp message
gerritId:      36403          commitId:      c69c5863e      
md5:           cab880835a2ad5184de5ed7762404b84
sensorNum      1              
sensorName0    2083           

PQBIN message
gerritId:      80171          commitId:      5c9d8fc5d      
md5:           ba5a510e093ad42db6788e6c2d13169e
sensorNum      3              
sensorName0    2053           

author:        wanqiang.he    desc:          思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime:    2023-08-04 16:48:08version:       V1.1           
tool Version:       v3.0.5.24           mode:      
********************************************************************************
sensorName(0) mismatch, mwSns:2083 != pqBinSns:2053
Cannot open '/dev/cvi-vo': 2, No such file or directory
[SAMPLE_COMM_ISP_Thread]-95: ISP Dev 0 running!
CVI_ISP_GetPubAttr Get FPS: 30.000000
VpssChn0 , Enable Vpss Grp: 0
VPSS init with src (1920, 1080) dst (1920, 1080).
CVI_VPSS_CreateGrp:0, s32Ret=0
rtsp://192.168.1.12:8554/stream0
prio:0
CVI_RTSP_SERVICE_CreateFromJsonFile[./cfg_64M.json]
[REMOTE] cvi_raw_dump_run,158: raw dump ready...
waiting for connect...
0 R:1165 B:3087 CT:2688
1 R:1464 B:2327 CT:3937
2 R:1974 B:1613 CT:7225
Golden 1464 1024 2327

When attemping to connect with VLC using vlc rtsp://192.168.1.12:8554/stream0 the output is this on the VLC console:

[00007f2508001650] satip stream error: Failed to play RTSP session
[00007f2508001650] satip stream error: Failed to teardown RTSP session

and this on the camera program console:

connect: 192.168.1.2
disconnect: 192.168.1.2

Can someone give me a few pointers here? I’ve triple checked my camera cable connections and everything is good as far as I can see. I’ve seen this issue pop up a lot on the official camera module forum post but nobody seems to have a fix for it.

Please check the connection of the FPC Ribbon Cable first:

This indicates that communication is established with the camera module. So there is no problem with the FPC ribbon cable connection.

[00007f2508001650] satip stream error: Failed to play RTSP session
[00007f2508001650] satip stream error: Failed to teardown RTSP session

This indicates that this is a VLC issue. In recent years, the VLC packages in the Ubuntu distribution seem to have stopped supporting the rtsp protocol.

If you are using Ubunutu these days, you can use many players that are not VLC.

See this article that I checked.

Thanks a lot! I’ll definitely check it out.

I had a number of problems to get the milkv duo camera to work. The symtom was connection refused when trying to open a stream from my main Linux machine. For me the problem was caused by the file
/etc/protocols
No port was defined for the rtsp protocol.
The solution was to add the following line to the end of the file /etc/protocols on milkv duo:
rtsp 8554 RTSP # Open port for camera streaming

Notice TAB between rtsp 8554 and RTSP.

The camera(s), I bough two, for the milkv duo are surprisingly good quality! After solving the problem with connecting to the rtsp stream from the outside it has worked as a charm. The cameras were bought from Aliexpress.