V4L2 device fails buffer ioctls
- Dominant language
- C
- Stars
- 251
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
This driver does manage to create a V4L2 video driver under `/dev/video0` on my system, however it cannot be opened with GStreamer (works with `icamerasrc` though) due to a failure to allocate the buffer, making it _de facto_ unusable on regular webcam clients.
Relevant output from `v4l2-compliance`:
```
v4l2-compliance 1.22.1, 64 bits, 64-bit time_t
Compliance test for intel-ipu6-isys device /dev/video0:
Driver Info:
Driver name : intel-ipu6-isys
Card type : ipu6
Bus info : PCI:pci:pci0000:00
Driver version : 5.19.2
Capabilities : 0x84201000
Video Capture Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04201000
Video Capture Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : intel-ipu6-isys
Model : ipu6
Serial :
Bus info : pci:pci0000:00
Media version : 5.19.2
Hardware revision: 0x00000000 (0)
Driver version : 5.19.2
Interface Info:
ID : 0x0300001e
Type : V4L Video
Entity Info:
ID : 0x0000001c (28)
Name : Intel IPU6 BE SOC capture 0
Function : V4L2 I/O
Pad 0x0100001d : 0: Sink, Must Connect
Link 0x02000020: from remote pad 0x100001b of entity 'Intel IPU6 CSI2 BE SOC 0' (Video Interface Bridge): Data, Enabled, Dynamic
Required ioctls:
test MC information (see 'Media Driver Info' above): OK
warn: v4l2-compliance.cpp(642): media bus_info 'pci:pci0000:00' differs from V4L2 bus_info 'PCI:pci:pci0000:00'
test VIDIOC_QUERYCAP: OK
fail: v4l2-compliance.cpp(783): doioctl(node, ioc, nullptr) != ENOTTY
test invalid ioctls: FAIL
Allow for multiple opens:
test second /dev/video0 open: OK
warn: v4l2-compliance.cpp(642): media bus_info 'pci:pci0000:00' differs from V4L2 bus_info 'PCI:pci:pci0000:00'
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK
Debug ioctls:
test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
test VIDIOC_LOG_STATUS: OK (Not Supported)
Input ioctls:
test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
test VIDIOC_ENUMAUDIO: OK (Not Supported)
test VIDIOC_G/S/ENUMINPUT: OK
test VIDIOC_G/S_AUDIO: OK (Not Supported)
Inputs: 1 Audio Inputs: 0 Tuners: 0
Output ioctls:
test VIDIOC_G/S_MODULATOR: OK (Not Supported)
test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
test VIDIOC_ENUMAUDOUT: OK (Not Supported)
test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
test VIDIOC_G/S_AUDOUT: OK (Not Supported)
Outputs: 0 Audio Outputs: 0 Modulators: 0
Input/Output configuration ioctls:
test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
test VIDIOC_G/S_EDID: OK (Not Supported)
Control ioctls (Input 0):
test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
test VIDIOC_QUERYCTRL: OK
test VIDIOC_G/S_CTRL: OK
test VIDIOC_G/S/TRY_EXT_CTRLS: OK
fail: v4l2-test-controls.cpp(872): subscribe event for control 'User Controls' failed
test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL
test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
Standard Controls: 1 Private Controls: 1
Format ioctls (Input 0):
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
test VIDIOC_G/S_PARM: OK (Not Supported)
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK
Codec ioctls (Input 0):
test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
test VIDIOC_G_ENC_INDEX: OK (Not Supported)
test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
Buffer ioctls (Input 0):
fail: v4l2-test-buffers.cpp(751): q.create_bufs(node, 1, &fmt) != EINVAL
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)
Total for intel-ipu6-isys device /dev/video0: 46, Succeeded: 43, Failed: 3, Warnings: 2
```
Contributor guide
Assessment
This issue has not been assessed yet.