IMX334 for CHANSEL_NOMATCH error

Hi team,

I have self written driver for IMX334. I am getting camera stream but I am seeing this CHANSEL_NOMATCH channel:0x01 frame:191 vi_tstamp:4262751080 data:0x000006e9.

Can you help me understand about this error and why it could be recurring?

IMX334 _NOMATCH_ERROR (145.0 KB)

1 Like

hello shree24,

this means the capture buffer types mismatch with sensor formats.
IMX334 looks like a bayer sensor, may I also know what’s the format you’ve assigned in device tree? is it identical with $ v4l2-ctl -d /dev/video0 --list-formats-ext.

BTW,
are you using a SerDes chip?
it looks the camera stream is functional normally, you may ignore CHANSEL_NOMATCH for your camera use-case.

Hi JerryChang,

I am not using SerDerchip.
v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘RG12’
Name : 12-bit Bayer RGRG/GBGB
Size: Discrete 3840x2160
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)

In dtb I am using -
mode_type = “bayer”;
pixel_phase = “rggb”;

My camera is giving issue with auto gain.

hello shree24,

did you also configure csi_pixel_bit_depth ="12"; in device tree?
please see-also developer guide, Verifying the V4L2 Sensor Driver.

Hello jerryChang,

Yes, In device tree csi_pixel_bit_depth is 12.

please run v4l2-compliance or v4l2-ctl to examine the driver.

Hello JerryChang,
This is the output of v4l2-compliance

v4l2-compliance SHA : not available
Driver Info:
Driver name : tegra-video
Card type : vi-output, imx334 2-0010
Bus info : platform:15c10000.vi:0
Driver version: 4.9.253
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format

Compliance test for device /dev/video0 (not using libv4l2):

Required ioctls:
test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
test second video open: OK
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

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)

Test input 0:

Control ioctls:
	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
	test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
	test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
	Standard Controls: 1 Private Controls: 20

Format ioctls:
	test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
	fail: v4l2-test-formats.cpp(1184): ret && node->has_frmintervals
	test VIDIOC_G/S_PARM: FAIL
	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 (Not Supported)

Codec ioctls:
	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:
	test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
	test VIDIOC_EXPBUF: OK

Test input 0:

Total: 43, Succeeded: 42, Failed: 1, Warnings: 0

I did not find any data in this issue.

fail: v4l2-test-formats.cpp(1184): ret && node->has_frmintervals
test VIDIOC_G/S_PARM: FAIL

Can youhelp me here?

Thank you

this should be ignore since it needs low-level driver implementation for get/set params.

Hi @JerryChang
I am using self written driver of IMX334. Do I need to implement anything inside imx334 driver or somewhere else?

hello shree24,

you may ignore the test failure of VIDIOC_G/S_PARM: FAIL. since they’re stream type-dependent parameter IOCTLs.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.