intel / icamerasrc

icamerasrc
24 stars 35 forks source link

IOCTL VIDIOC_G_EXT_CTRLS error: Invalid argument / setup Link Intel IVSC CSI [257:0] ==> Intel IPU6 CSI-2 2 [7x0] enable 1 failed. #46

Open victornoel opened 2 months ago

victornoel commented 2 months ago

Hi, I have installed everything as follow:

At boot, this is what I see in dmesg:

➜  ~ sudo dmesg|grep ipu
[   61.292569] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   61.292892] intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x6)
[   61.292908] intel-ipu6 0000:00:05.0: physical base address 0x6076000000
[   61.292909] intel-ipu6 0000:00:05.0: mapped as: 0x00000000008c45d3
[   61.292966] intel-ipu6 0000:00:05.0: Unable to set secure mode
[   61.292967] intel-ipu6 0000:00:05.0: IPU in non-secure mode
[   61.292968] intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[   61.292969] intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[   61.293307] intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[   61.293310] intel-ipu6 0000:00:05.0: IPC reset done
[   61.300312] intel-ipu6 0000:00:05.0: FW version: 20230925
... the above repeated many times ...
[   71.539794] intel-ipu6 0000:00:05.0: FW version: 20230925
[   71.545864] intel-ipu6 0000:00:05.0: Found supported sensor OVTI01A0:00
[   71.546313] intel-ipu6 0000:00:05.0: Connected 1 cameras
[   71.547085] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[   71.548221] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[   71.548832] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[   71.604246] intel-ipu6-isys intel-ipu6-isys0: bind Intel IVSC CSI nlanes is 1 port is 2
[   71.655385] intel-ipu6-isys intel-ipu6-isys0: All sensor registration completed.

I can also see the following in v4l:

➜  ~ grep . /sys/class/video4linux/v4l-subdev*/name                                                                              
/sys/class/video4linux/v4l-subdev0/name:Intel IPU6 CSI-2 0
/sys/class/video4linux/v4l-subdev10/name:Intel IPU6 CSI2 BE SOC 2
/sys/class/video4linux/v4l-subdev11/name:Intel IPU6 CSI2 BE SOC 3
/sys/class/video4linux/v4l-subdev12/name:Intel IPU6 CSI2 BE SOC 4
/sys/class/video4linux/v4l-subdev13/name:Intel IPU6 CSI2 BE SOC 5
/sys/class/video4linux/v4l-subdev14/name:Intel IPU6 CSI2 BE SOC 6
/sys/class/video4linux/v4l-subdev15/name:Intel IPU6 CSI2 BE SOC 7
/sys/class/video4linux/v4l-subdev1/name:Intel IPU6 CSI-2 1
/sys/class/video4linux/v4l-subdev2/name:Intel IPU6 CSI-2 2
/sys/class/video4linux/v4l-subdev3/name:Intel IPU6 CSI-2 3
/sys/class/video4linux/v4l-subdev4/name:Intel IPU6 CSI-2 4
/sys/class/video4linux/v4l-subdev5/name:Intel IPU6 CSI-2 5
/sys/class/video4linux/v4l-subdev6/name:Intel IPU6 CSI-2 6
/sys/class/video4linux/v4l-subdev7/name:Intel IPU6 CSI-2 7
/sys/class/video4linux/v4l-subdev8/name:Intel IPU6 CSI2 BE SOC 0
/sys/class/video4linux/v4l-subdev9/name:Intel IPU6 CSI2 BE SOC 1

➜  ~ v4l2-ctl --list-devices            
ipu6 (PCI:pci:pci0000:00):
    /dev/video0
    /dev/video1
    /dev/video2
    /dev/video3
    /dev/video4
    /dev/video5
    /dev/video6
    /dev/video7

ipu6 (pci:pci0000:00):
    /dev/media0

My hardware is:

➜  ~ find /sys/devices -name modalias | xargs grep -h acpi | grep -Ev 'PNP|LNX' | sort -u
acpi:ACPI0003:
acpi:ACPI0007:
acpi:ACPI000C:
acpi:ACPI000E:
acpi:ACPI0018:
acpi:INT3472:
acpi:INTC1041:
acpi:INTC1046:
acpi:INTC1055:
acpi:INTC1070:
acpi:INTC1094:
acpi:INTC1095:
acpi:INTC1096:
acpi:INTC1097:
acpi:INTC1098:
acpi:OVTI01A0:
acpi:OVTI01AB:
acpi:STM0125:MSFT0101:
acpi:TXNW3643:
platform:acpi-cpufreq

And when I try to run icamerasrc with gst-launch I get this:

➜  ~ gst-launch-1.0 icamerasrc buffer-count=7 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink            
[06-06 10:54:20.795] CamHAL[ERR] Malformed ET range in exposure time range configuration
[06-06 10:54:20.795] CamHAL[ERR] Parse AE eExposure time range failed
[06-06 10:54:20.795] CamHAL[ERR] Malformed ET range in exposure time range configuration
[06-06 10:54:20.795] CamHAL[ERR] Parse AE gain range failed
[06-06 10:54:20.796] CamHAL[ERR] Malformed ET range in exposure time range configuration
[06-06 10:54:20.796] CamHAL[ERR] Parse AE eExposure time range failed
[06-06 10:54:20.796] CamHAL[ERR] Malformed ET range in exposure time range configuration
[06-06 10:54:20.796] CamHAL[ERR] Parse AE gain range failed
Setting pipeline to PAUSED ...
[06-06 10:54:20.834] CamHAL[INF] aiqb file name ov01a10.aiqb
[06-06 10:54:20.835] CamHAL[INF] aiqb file name ov01a10.aiqb
[06-06 10:54:20.836] CamHAL[INF] updateMediaFormat, media format in tuning: 0, media format for aic 0.
[06-06 10:54:20.836] CamHAL[INF] aiqb file name ov01a10.aiqb
[06-06 10:54:20.836] CamHAL[INF] aiqb file name ov01a10.aiqb
[06-06 10:54:20.836] CamHAL[INF] updateMediaFormat, media format in tuning: 0, media format for aic 0.
[06-06 10:54:20.836] CamHAL[ERR] GetControl: Device node /dev/v4l-subdev17 IOCTL VIDIOC_G_EXT_CTRLS error: Invalid argument
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[06-06 10:54:20.844] CamHAL[ERR] setup Link Intel IVSC CSI [257:0] ==> Intel IPU6 CSI-2 2 [7x0] enable 1 failed.
[06-06 10:54:20.844] CamHAL[ERR] set MediaCtlConf McLink failed: ret = -1
[06-06 10:54:20.844] CamHAL[ERR] set up mediaCtl failed
[06-06 10:54:20.844] CamHAL[ERR] @configure Device Configure failed
[06-06 10:54:20.844] CamHAL[ERR] failed to config streams.
ERROR: from element /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0: src pad: Internal data flow error.
Additional debug info:
gstcambasesrc.cpp(3156): gst_cam_base_src_loop (): /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.004613173
Setting pipeline to NULL ...
Freeing pipeline ...