Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3516CV300 + SC2235 #121

Closed
sbr2004 opened this issue May 24, 2023 · 1 comment
Closed

3516CV300 + SC2235 #121

sbr2004 opened this issue May 24, 2023 · 1 comment

Comments

@sbr2004
Copy link

sbr2004 commented May 24, 2023

  • Camera board id: hardware=50H20L
  • OpenIPC version: 2.3.05.22

Unable to get 3516CV300 + SC2235 running. Tried some other SC2235 drivers, no luck. Please help and let me know about any additional information from my side that could help.

ipctool

The ipctool installed as remote GitHub plugin

chip:
vendor: HiSilicon
model: 3516CV300
board:
vendor: OpenIPC
version: 2.3.05.22
ethernet:
mac: "00:12:17:b6:fc:0e"
u-mdio-phyaddr: 1
phy-id: 0x001cc816
d-mdio-phyaddr: 0
rom:

  • type: nor
    block: 64K
    partitions:
    • name: boot
      size: 0x40000
      sha1: b579015d
      contains:
      • name: uboot-env
        offset: 0x20000
    • name: wtf
      size: 0x10000
      sha1: 1cacde17
    • name: kernel
      size: 0x200000
      sha1: b5482415
    • name: rootfs
      size: 0x500000
      path: /,squashfs
      sha1: 2c8a9e6c
    • name: rootfs_data
      size: 0x8b0000
      path: /overlay,jffs2,rw
      size: 16M
      addr-mode: 3-byte
      ram:
      total: 128M
      media: 96M
      firmware:
      u-boot: "2010.06-svn1098 (Jun 11 2018 - 13:18:18)"
      kernel: "3.18.20 (Mon May 22 03:01:36 UTC 2023)"
      toolchain: gcc version 8.4.0 (Buildroot -gff5aa3b6-dirty)
      sdk: "Hi3516CV300_MPP_V1.0.4.0 B050 Release (Jun 3 2018, 21:42:04)"
      main-app: /usr/sbin/rngd
      sensors:
  • vendor: SmartSens
    model: SC2235
    control:
    bus: 0
    type: i2c
    addr: 0x60
    vicap-state: down

majestic -s

22:34:21 < majestic> [ main] main@125 Majestic Lite for HiSilicon, version master+e9f6ce9, built on 2023-05-13
22:34:21 < majestic> [app_conf] load_config@89 Using /etc/majestic.yaml as main configuration
22:34:22 < majestic> [ sdk] start_sdk@415 Using /etc/sensors/sensor.ini sensor configuration file
22:34:22 < majestic> [ sdk] start_sdk@424 App was built with MPP version: Hi3516CV300_MPP_V1.0.4.0.B050 Release
22:34:22 < majestic> [ sdk] start_sdk@427 Current MPP version: HI_VERSION=Hi3516CV300_MPP_V1.0.4.0 B050 Release
22:34:22 < majestic> [ sdk] start_sdk@447 sensor sc2235
22:34:22 < majestic> [ sdk] start_sdk@452 input_mode CMOS, WDR NONE
22:34:22 < majestic> [ sdk] start_sdk@459 dev [1920x1080]@0x0 25fps, BGGR
22:34:22 < majestic> [ sensor] try_to_load@19 trying to load /usr/lib/sensors/libsns_sc2235p_i2c_dc.so
22:34:22 < majestic> [ hal] hisi_free_mem_ex@755 Free MMZ mem before allocation: 98220KB
22:34:22 < majestic> [ sdk] dump_vb_configuration@2206 VB configuration:
22:34:22 < majestic> [ sdk] dump_vb_configuration@2216 [0]: 3136320 x 9
22:34:22 < majestic> [ sdk] dump_vb_configuration@2216 [1]: 4147200 x 1
22:34:22 < majestic> [ hal] hisi_free_mem_ex@755 Free MMZ mem after allocation: 66592KB
22:34:22 < majestic> [ sdk] init_sensor@2402 Sensor driver loaded
22:34:22 < majestic> [ sdk] init_vi@2849 SDK is in 'offline' mode
22:34:22 < majestic> [ puts] SC2235_SENSOR_1080P_30FPS_LINEAR_MODE
22:34:22 < majestic> [ puts] ------------- SC2235P 1080p xxfps init ok![16EV100-16cv300] by gjj --------2017.09--------
22:34:22 < majestic> [ sdk] log_venc_chn@1255 H.264 1920x1080 15fps 4096Kbit 15 GOP
22:34:22 < iq_monitor> [ sdk] monitor_thread@344 Loading IQ profile /etc/sensors/iq/default.ini
22:34:22 < majestic> [ sdk] create_vpss_chn@1002 new venc: 0 vpss_grp: 0, vpss_chn: 0
22:34:22 < majestic> [ sdk] start_video@1956 venc took 7996KB of MMZ [1518]
22:34:22 < majestic> [ sdk] start_sdk@559 HiSilicon SDK started
22:34:22 < majestic> [ hal] hisi_free_mem_ex@755 Free MMZ mem finally: 54308KB
22:34:22 < majestic> [ httpd] new_http_server@368 HTTP server started on 0.0.0.0:80
22:34:22 < majestic> [ rtsp] rtsp_init@31 RTSP server started on port 554
22:34:22 < majestic> [ netip] netip_start@2055 NETIP server started on port 34567
[Func]:HI_MPI_ISP_QueryExposureInfo [Line]:920 [Info]:Get Active Stat Buffer Err
22:34:23 < iq_monitor> [ sdk] monitor_thread@363 Query exposure info
22:34:23 < iq_monitor> [ sdk] monitor_thread@363 Unknown error code FFFFFFFF
22:34:24 < majestic> [ sdk] venc_read@926 Timeout get any data from venc channel 0
22:34:24 < majestic> [ sdk] venc_read@946 NOTE: Current frame is NULL!
22:34:26 < majestic> [ sdk] venc_read@926 Timeout get any data from venc channel 0
22:34:26 < majestic> [ sdk] venc_read@946 NOTE: Current frame is NULL!
22:34:28 < majestic> [ sdk] venc_read@926 Timeout get any data from venc channel 0
22:34:28 < majestic> [ sdk] venc_read@946 NOTE: Current frame is NULL!
^C22:34:30 < majestic> [ log] printf@268 Interrupt signal received
22:34:30 < majestic> [ sdk] stop_chn@1997 Stopped 0 channel
22:34:30 < hi_logger> [ viu] VIU_DRV_DisableChn@1344 !! Disable ViChn:0 timeout 120ms!!!
22:34:30 < majestic> [ sdk] stop_sdk@3243 Stop sdk Ok!
22:34:30 < majestic> [ main] main@209 Shutdown main thread

cat /etc/majestic.yaml

system:
webAdmin: enabled
buffer: 1024
logLevel: ERROR
image:
mirror: false
flip: false
rotate: none
contrast: 50
hue: 50
saturation: 50
luminance: 50
osd:
enabled: false
template: "%a %e %B %Y %H:%M:%S %Z"
nightMode:
enabled: false
records:
enabled: false
path: /mnt/mmc/%Y/%m/%d/%H.mp4
maxUsage: 95
video0:
enabled: true
codec: h264
gopMode: normal
size: 1920x1080
fps: 15
video1:
enabled: false
gopMode: normal
size: 1920x1080
fps: 20
jpeg:
enabled: true
mjpeg:
size: 640x360
fps: 5
bitrate: 1024
audio:
enabled: false
volume: auto
srate: 8000
rtsp:
enabled: true
port: 554
hls:
enabled: false
youtube:
enabled: false
motionDetect:
enabled: false
visualize: true
debug: true
ipeye:
enabled: false
watchdog:
enabled: false
timeout: 10
isp:
lowDelay: false
memMode: normal
sensorConfig: /etc/sensors/sensor.ini

cat /etc/sensors/sensor.ini

[sensor]
Sensor_type =sc2235 ;sensor name
Mode =0 ;WDR_MODE_NONE = 0
;WDR_MODE_BUILT_IN = 1
;WDR_MODE_2To1_LINE = 2
;WDR_MODE_2To1_LINE = 3
;WDR_MODE_2To1_FRAME_FULL_RATE =4 ...etc
;DllFile = /usr/lib/sensors/libsns_sc2235.so
DllFile = /usr/lib/sensors/libsns_sc2235p_i2c_dc.so
;DllFile = /usr/lib/sensors/libsns_sc2235_2.so

[mode]
input_mode =4 ;INPUT_MODE_MIPI = 0
;INPUT_MODE_SUBLVDS = 1
;INPUT_MODE_LVDS = 2
;INPUT_MODE_HISPI = 3
;INPUT_MODE_CMOS = 4 ...etc

dev_attr = 0 ;mipi_dev_attr_t = 0
;lvds_dev_attr_t = 1
;NULL =2

[mipi]
;----------only for mipi_dev---------
data_type =-1 ;raw data type: 8/10/12/14 bit
;RAW_DATA_8BIT = 1
;RAW_DATA_10BIT = 2
;RAW_DATA_12BIT = 3
;RAW_DATA_14BIT = 4
lane_id = -1|-1|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable

[lvds]
;----------only for lvds_dev---------
img_size_w = 1920 ;oringnal sensor input image size W
img_size_h = 1080 ;oringnal sensor input image size H
wdr_mode = 0 ;HI_WDR_MODE_NONE =0
;HI_WDR_MODE_2F = 1
;HI_WDR_MODE_3F = 2
;HI_WDR_MODE_4F =3
sync_mode = 1 ;LVDS_SYNC_MODE_SOL = 0
;LVDS_SYNC_MODE_SAV = 1
raw_data_type = 2 ;RAW_DATA_8BIT = 0
;RAW_DATA_10BIT = 1
;RAW_DATA_12BIT = 2
;RAW_DATA_14BIT = 3
data_endian = 1 ;LVDS_ENDIAN_LITTLE = 0
;LVDS_ENDIAN_BIG = 1
sync_code_endian = 1 ;LVDS_ENDIAN_LITTLE = 0
;LVDS_ENDIAN_BIG = 1
lane_id = 0|1|2|3|-1|-1|-1|-1| ;lane_id: -1 - disable
;lane_id = 0|2|-1|-1|-1|-1|-1|-1|
lvds_lane_num = -1 ;LVDS_LANE_NUM
wdr_vc_num = -1 ;WDR_VC_NUM
sync_code_num = -1 ;SYNC_CODE_NUM
sync_code_0 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_1 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_2 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_3 = 0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0|0xab0|0xb60|0x800|0x9d0
sync_code_4 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_5 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_6 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|
sync_code_7 = -1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|

[isp_image]
Isp_x =0
Isp_y =0
Isp_W =1920
Isp_H =1080
Isp_FrameRate=25
Isp_Bayer =3 ;BAYER_RGGB=0, BAYER_GRBG=1, BAYER_GBRG=2, BAYER_BGGR=3

[vi_dev]
Input_mod =2 ;VI_INPUT_MODE_BT656 = 0
;VI_INPUT_MODE_BT601,
;VI_INPUT_MODE_DIGITAL_CAMERA
Work_mod =0 ;VI_WORK_MODE_1Multiplex = 0
;VI_WORK_MODE_2Multiplex,
;VI_WORK_MODE_4Multiplex
Combine_mode =0 ;Y/C composite or separation mode
;VI_COMBINE_COMPOSITE = 0 /*Composite mode */
;VI_COMBINE_SEPARATE, /*Separate mode */
Comp_mode =0 ;Component mode (single-component or dual-component)
;VI_COMP_MODE_SINGLE = 0, /*single component mode */
;VI_COMP_MODE_DOUBLE = 1, /*double component mode */
Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
Mask_num =2 ;Component mask
Mask_0 =0xFFC0000
;Mask_0 =0xFFFF0000
Mask_1 =0x0
Scan_mode = 1;VI_SCAN_INTERLACED = 0
;VI_SCAN_PROGRESSIVE,
;YUYV
Data_seq =2 ;data sequence (ONLY for YUV format)
;----2th component U/V sequence in bt1120
; VI_INPUT_DATA_VUVU = 0,
; VI_INPUT_DATA_UVUV,
;----input sequence for yuv
; VI_INPUT_DATA_UYVY = 0,
; VI_INPUT_DATA_VYUY,
; VI_INPUT_DATA_YUYV,
; VI_INPUT_DATA_YVYU

Vsync =0 ; vertical synchronization signal
;VI_VSYNC_FIELD = 0,
;VI_VSYNC_PULSE,
VsyncNeg=0 ;Polarity of the vertical synchronization signal
;VI_VSYNC_NEG_HIGH = 0,
;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E
Hsync =0 ;Attribute of the horizontal synchronization signal
;VI_HSYNC_VALID_SINGNAL = 0,
;VI_HSYNC_PULSE,
HsyncNeg =0 ;Polarity of the horizontal synchronization signal
;VI_HSYNC_NEG_HIGH = 0,
;VI_HSYNC_NEG_LOW
VsyncValid =0 ;Attribute of the valid vertical synchronization signal
;VI_VSYNC_NORM_PULSE = 0,
;VI_VSYNC_VALID_SINGAL,
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal
;VI_VSYNC_VALID_NEG_HIGH = 0,
;VI_VSYNC_VALID_NEG_LOW
Timingblank_HsyncHfb =0 ;Horizontal front blanking width
Timingblank_HsyncAct =1920 ;Horizontal effetive width
Timingblank_HsyncHbb =0 ;Horizontal back blanking width
Timingblank_VsyncVfb =0 ;Vertical front blanking height
Timingblank_VsyncVact =1080 ;Vertical effetive width
Timingblank_VsyncVbb=0 ;Vertical back blanking height
Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive)
Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive)
Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive)

;----- only for bt656 ----------
FixCode =0 ;BT656_FIXCODE_1 = 0,
;BT656_FIXCODE_0
FieldPolar=0 ;BT656_FIELD_POLAR_STD = 0
;BT656_FIELD_POLAR_NSTD
DataPath =1 ;ISP enable or bypass
;VI_PATH_BYPASS = 0,/* ISP bypass /
;VI_PATH_ISP = 1,/
ISP enable /
;VI_PATH_RAW = 2,/
Capture raw data, for debug */
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
DevRect_x=0 ;
DevRect_y=0 ;
DevRect_w=1920 ;
DevRect_h=1080 ;

[vi_chn]
CapRect_X =0
CapRect_Y =0
CapRect_Width=1920
CapRect_Height=1080
DestSize_Width=1920
DestSize_Height=1080
CapSel =2 ;Frame/field select. ONLY used in interlaced mode
;VI_CAPSEL_TOP = 0, /* top field /
;VI_CAPSEL_BOTTOM, /
bottom field /
;VI_CAPSEL_BOTH, /
top and bottom field */

PixFormat =23;PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 22
;PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 23 ...etc
CompressMode =0 ;COMPRESS_MODE_NONE = 0
;COMPRESS_MODE_SEG =1 ...etc

SrcFrameRate=-1 ;Source frame rate. -1: not controll
FrameRate =-1 ;Target frame rate. -1: not controll

[vpss_group]
Vpss_DciEn =FALSE
Vpss_IeEn =FALSE
Vpss_NrEn =TRUE
Vpss_HistEn =FALSE
Vpss_DieMode=1 ;Define de-interlace mode
;VPSS_DIE_MODE_AUTO = 0,
;VPSS_DIE_MODE_NODIE = 1,
;VPSS_DIE_MODE_DIE = 2,

[vpss_corp]
Crop_enable =FALSE
Coordinate =1 ;VPSS_CROP_RATIO_COOR = 0, /Ratio coordinate/
;VPSS_CROP_ABS_COOR = 1 /Absolute coordinate/
Crop_X =128
Crop_Y =128
Crop_W =1158
Crop_H =562

[vpss_chn]
Vpss_W =1920
Vpss_H =1080
CompressMode=0 ;COMPRESS_MODE_NONE = 0
;COMPRESS_MODE_SEG =1 ...etc
Mirror =FALSE;Whether to mirror
Flip =FALSE;Whether to flip

[vb_conf]
VbCnt=10
vbTimes=15 ;when raw=8bit vbTimes = 10
;when raw=10/12 bit vbTimes = 15
;when raw=14/16 bit vbTimes = 20
[venc_comm]
venc_chn =1 ;create venc chn number;(0,2]
BufCnt = 1 ;network meida-trans bufcnt

[venc_0]
PicWidth =1920
PicHeight =1080
Profile =2
RcMode =VENC_RC_MODE_H264CBR

Gop =50
StatTime =2
ViFrmRate =30
TargetFrmRate=30
;----- only for VENC_RC_MODE_H264CBR ----------
BitRate=4096
FluctuateLevel=0
;----- only for VENC_RC_MODE_H264VBR ----------
MaxBitRate =10000

MaxQp=32
MinQp=24
;----- only for VENC_RC_MODE_H264FIXQP ----------
IQp=45

PQp=40
;-------- for REF_EX IsliceEnable------
IsliceEnable = FALSE ;IsliceEnable and ViEnable is mutual exclusion
IsRefreshEnable = FALSE ;IsliceEnable and bRefreshEnable both TRUE is effective
RefreshLineNum = 12 ;PicHeight/16/6 6 is empirical value,ask Fuyang
ReqIQp = 30
;-------- for REF_EX ViEnable------
ViEnable = TRUE
ViInterval = 50 ; 2s
ViQpDelta = 2

[venc_1]
PicWidth =1920
PicHeight =1080
Profile =2
RcMode =VENC_RC_MODE_H264CBR

Gop =50
StatTime =2
ViFrmRate =25
TargetFrmRate=25
;----- only for VENC_RC_MODE_H264CBR ----------
BitRate=4096
FluctuateLevel=0
;----- only for VENC_RC_MODE_H264VBR ----------
MaxBitRate =10000

MaxQp=32

MinQp=24
;----- only for VENC_RC_MODE_H264FIXQP ----------
IQp=40

PQp=45
;-------- for REF_EX IsliceEnable------
IsliceEnable = FALSE ;IsliceEnable and ViEnable is mutual exclusion
IsRefreshEnable = FALSE ;IsliceEnable and bRefreshEnable both TRUE is effective
RefreshLineNum = 12 ;PicHeight/16/6 6 is empirical value,ask Fuyang
ReqIQp = 30
;-------- for REF_EX ViEnable------
ViEnable = TRUE
ViInterval = 50 ; 2s
ViQpDelta = 2

[bind]
ViDev =0
ViChn =0
VpssGrp =0
VpssChn = 0
VoDev =0
VoChn =0
ViSnapChn =0
VpssSnapGrp=0
VpssSnapChn=1
VencSnapGrp=1
VencSnapChn=3

@widgetii
Copy link
Member

We don't have such hardware, so it's not supported. I may consider donating it (minimal qty is 2 boards, at least one with stock firmware installed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants