<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Graphics中的主题 Re: ioctl failed</title>
    <link>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2054668#M751</link>
    <description>&lt;DIV&gt;Hi&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have done the followings commands&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# media-ctl -p&lt;/DIV&gt;&lt;DIV&gt;Media controller API version 6.6.23&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Media device information&lt;/DIV&gt;&lt;DIV&gt;------------------------&lt;/DIV&gt;&lt;DIV&gt;driver&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mxc-md&lt;/DIV&gt;&lt;DIV&gt;model&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FSL Capture Media Device&lt;/DIV&gt;&lt;DIV&gt;serial&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;bus info&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; platform:42800000.bus:camera&lt;/DIV&gt;&lt;DIV&gt;hw revision&amp;nbsp; &amp;nbsp; &amp;nbsp;0x0&lt;/DIV&gt;&lt;DIV&gt;driver version&amp;nbsp; 6.6.23&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Device topology&lt;/DIV&gt;&lt;DIV&gt;- entity 1: mxc_isi.0 (16 pads, 2 links, 0 routes)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type V4L2 subdev subtype Unknown flags 0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "mxc-mipi-csi2.0":4 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad1: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad2: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad3: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad4: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad5: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad6: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad7: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad8: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad9: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad10: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad11: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad12: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc_isi.0.capture":0 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad13: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad14: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad15: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 18: mxc_isi.0.capture (1 pad, 1 link)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type Node subtype V4L flags 0&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;device node name /dev/video0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "mxc_isi.0":12 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 22: mxc-mipi-csi2.0 (8 pads, 2 links)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type Node subtype V4L flags 0&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;device node name /dev/v4l-subdev0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "ap1302_mipi 2-003c":0 [ENABLED,IMMUTABLE]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad1: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad2: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad3: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad4: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc_isi.0":0 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad5: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad6: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad7: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 31: ap1302_mipi 2-003c (1 pad, 1 link, 0 routes)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type V4L2 subdev subtype Unknown flags 0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl --list-devices&lt;/DIV&gt;&lt;DIV&gt;FSL Capture Media Device (platform:42800000.bus:camera):&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/dev/media0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;mxc-isi-cap_v1 (platform:4ae40000.isi:cap_devic):&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/dev/video0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --list-formats&lt;/DIV&gt;&lt;DIV&gt;ioctl: VIDIOC_ENUM_FMT&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Type: Video Capture Multiplanar&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[0]: 'RGBP' (16-bit RGB 5-6-5)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[1]: 'RGB3' (24-bit RGB 8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[2]: 'BGR3' (24-bit BGR 8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[3]: 'YUYV' (YUYV 4:2:2)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[4]: 'YUV4' (32-bit A/XYUV 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[5]: 'NV12' (Y/UV 4:2:0)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[6]: 'NM12' (Y/UV 4:2:0 (N-C))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[7]: 'YM24' (Planar YUV 4:4:4 (N-C))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[8]: 'XR24' (32-bit BGRX 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[9]: 'AR24' (32-bit BGRA 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --list-framesizes YUYV&lt;/DIV&gt;&lt;DIV&gt;ioctl: VIDIOC_ENUM_FRAMESIZES&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1920x1080&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1280x800&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1280x720&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 640x480&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --set-fmt-video=width=1280,height=800,pixelformat=YUYV --stream-mmap=4 --stream-count=10 --stream-to=test.yuv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# ls -l test.yuv&lt;/DIV&gt;&lt;DIV&gt;-rw-r--r-- 1 root root 20480000 Feb 25 02:55 test.yuv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1280,height=800" ! queue ! waylandsink&lt;/DIV&gt;&lt;DIV&gt;i have a display on xwindows&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;When i launch code with the OpenCV video capture function with log debug level&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;cv::VideoCapture camera(0, cv::CAP_V4L2);&lt;/DIV&gt;&lt;DIV&gt;I get&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.030] global cap_v4l.cpp:1005 open VIDEOIO(V4L2:/dev/video0): opening...&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.030] global cap_v4l.cpp:1021 open VIDEOIO(V4L2:/dev/video0): deviceHandle=14&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_QUERYCAP(2154321408), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_QUERYCAP(2154321408), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_G_FMT(3234878980), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_G_FMT(3234878980), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_S_FMT(3234878981), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_S_FMT(3234878981), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_S_PARM(3234616854), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_S_PARM(3234616854), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_G_PARM(3234616853), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_G_PARM(3234616853), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;ioctl with VIDIOC_G_FMT, VIDIOC_S_FMT, VIDIOC_S_PARM, VIDIOC_G_PARM work&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 03 Mar 2025 11:00:15 GMT</pubDate>
    <dc:creator>OlivierG</dc:creator>
    <dc:date>2025-03-03T11:00:15Z</dc:date>
    <item>
      <title>ioctl failed</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2050804#M740</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;On an IMX93evk card with Yocto&lt;BR /&gt;I tested the code below intended to do an image acquisition on the /dev/video device connected to a RPI-CAM-MIPI camera&lt;BR /&gt;&lt;A href="https://docs.nxp.com/bundle/UM11933/page/topics/rpi-cam-mipi_overview.html" target="_blank"&gt;https://docs.nxp.com/bundle/UM11933/page/topics/rpi-cam-mipi_overview.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The calls to the ioctl function fail.&lt;BR /&gt;Curiously OpenCv makes the same calls and they do not fail&lt;BR /&gt;What did I miss?&lt;/P&gt;&lt;P&gt;int main() {&lt;BR /&gt;const char *device = "/dev/video0";&lt;BR /&gt;int fd = open(device, O_RDWR);&lt;BR /&gt;if (fd == -1) {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;perror("Opening video device");&lt;BR /&gt;&amp;nbsp; &amp;nbsp;return 1;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;struct v4l2_format format;&lt;BR /&gt;format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;&lt;BR /&gt;format.fmt.pix.width = 640;&lt;BR /&gt;format.fmt.pix.height = 480;&lt;BR /&gt;format.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG;&lt;BR /&gt;format.fmt.pix.field = V4L2_FIELD_INTERLACED;&lt;BR /&gt;&lt;BR /&gt;if (ioctl(fd, VIDIOC_S_FMT, &amp;amp;format) &amp;lt; 0) {&lt;BR /&gt;perror("Setting Pixel Format");&lt;BR /&gt;return 1;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;struct v4l2_requestbuffers req;&lt;BR /&gt;memset(&amp;amp;req, 0, sizeof(req));&lt;BR /&gt;req.count = 1;&lt;BR /&gt;req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;&lt;BR /&gt;req.memory = V4L2_MEMORY_MMAP;&lt;BR /&gt;&lt;BR /&gt;if (ioctl(fd, VIDIOC_REQBUFS, &amp;amp;req) &amp;lt; 0) {&lt;BR /&gt;perror("Requesting Buffer");&lt;BR /&gt;return 1;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;struct v4l2_buffer buf;&lt;BR /&gt;memset(&amp;amp;buf, 0, sizeof(buf));&lt;BR /&gt;buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;&lt;BR /&gt;buf.memory = V4L2_MEMORY_MMAP;&lt;BR /&gt;buf.index = 0;&lt;BR /&gt;&lt;BR /&gt;if (ioctl(fd, VIDIOC_QUERYBUF, &amp;amp;buf) &amp;lt; 0) {&lt;BR /&gt;perror("Querying Buffer");&lt;BR /&gt;return 1;&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2025 12:02:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2050804#M740</guid>
      <dc:creator>OlivierG</dc:creator>
      <dc:date>2025-02-25T12:02:24Z</dc:date>
    </item>
    <item>
      <title>Re: ioctl failed</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2051175#M742</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thank you for your interest in NXP Semiconductor products,&lt;/P&gt;
&lt;P&gt;Are you able to replicate the camera preview in your setup?&lt;/P&gt;
&lt;P&gt;$ media-ctl -p&lt;/P&gt;
&lt;P&gt;$ v4l2-ctl --list-devices&lt;/P&gt;
&lt;P&gt;List the supported pixel formats:&lt;/P&gt;
&lt;P&gt;$ v4l2-ctl -d0 --list-formats&lt;BR /&gt;ioctl: VIDIOC_ENUM_FMT&lt;BR /&gt;Type: Video Capture Multiplanar&lt;BR /&gt;...&lt;/P&gt;
&lt;P&gt;List the supported image resolutions:&lt;/P&gt;
&lt;P&gt;$ v4l2-ctl -d0 --list-framesizes YUYV&lt;BR /&gt;ioctl: VIDIOC_ENUM_FRAMESIZES&lt;BR /&gt;Size: Discrete 1920x1080&lt;BR /&gt;...&lt;/P&gt;
&lt;P&gt;Capture the camera data and save them to a file using the "v4l2-ctl" command. The supported pixel formats and resolutions are listed above. Here is an example to capture the 1280x800 YUYV camera data:&lt;/P&gt;
&lt;P&gt;$ v4l2-ctl -d0 --set-fmt-video=width=1280,height=800,pixelformat=YUYV --stream-mmap=4 --stream-count=10 --stream-to=test.yuv&lt;/P&gt;
&lt;P&gt;Capture the camera data, preview them on screen or save them to a file using the "gstreamer" commands:&lt;/P&gt;
&lt;P&gt;# preview on screen&lt;BR /&gt;$ gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1280,height=800" ! queue ! waylandsink&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2025 00:08:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2051175#M742</guid>
      <dc:creator>JosephAtNXP</dc:creator>
      <dc:date>2025-02-26T00:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: ioctl failed</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2054668#M751</link>
      <description>&lt;DIV&gt;Hi&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have done the followings commands&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# media-ctl -p&lt;/DIV&gt;&lt;DIV&gt;Media controller API version 6.6.23&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Media device information&lt;/DIV&gt;&lt;DIV&gt;------------------------&lt;/DIV&gt;&lt;DIV&gt;driver&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mxc-md&lt;/DIV&gt;&lt;DIV&gt;model&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FSL Capture Media Device&lt;/DIV&gt;&lt;DIV&gt;serial&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;bus info&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; platform:42800000.bus:camera&lt;/DIV&gt;&lt;DIV&gt;hw revision&amp;nbsp; &amp;nbsp; &amp;nbsp;0x0&lt;/DIV&gt;&lt;DIV&gt;driver version&amp;nbsp; 6.6.23&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Device topology&lt;/DIV&gt;&lt;DIV&gt;- entity 1: mxc_isi.0 (16 pads, 2 links, 0 routes)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; type V4L2 subdev subtype Unknown flags 0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "mxc-mipi-csi2.0":4 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad1: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad2: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad3: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad4: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad5: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad6: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad7: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad8: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad9: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad10: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad11: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad12: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc_isi.0.capture":0 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad13: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad14: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad15: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 18: mxc_isi.0.capture (1 pad, 1 link)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type Node subtype V4L flags 0&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;device node name /dev/video0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "mxc_isi.0":12 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 22: mxc-mipi-csi2.0 (8 pads, 2 links)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type Node subtype V4L flags 0&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;device node name /dev/v4l-subdev0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;lt;- "ap1302_mipi 2-003c":0 [ENABLED,IMMUTABLE]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad1: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad2: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad3: Sink&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad4: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc_isi.0":0 [ENABLED]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad5: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad6: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad7: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- entity 31: ap1302_mipi 2-003c (1 pad, 1 link, 0 routes)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type V4L2 subdev subtype Unknown flags 0&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pad0: Source&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;-&amp;gt; "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl --list-devices&lt;/DIV&gt;&lt;DIV&gt;FSL Capture Media Device (platform:42800000.bus:camera):&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/dev/media0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;mxc-isi-cap_v1 (platform:4ae40000.isi:cap_devic):&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;/dev/video0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --list-formats&lt;/DIV&gt;&lt;DIV&gt;ioctl: VIDIOC_ENUM_FMT&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Type: Video Capture Multiplanar&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[0]: 'RGBP' (16-bit RGB 5-6-5)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[1]: 'RGB3' (24-bit RGB 8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[2]: 'BGR3' (24-bit BGR 8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[3]: 'YUYV' (YUYV 4:2:2)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[4]: 'YUV4' (32-bit A/XYUV 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[5]: 'NV12' (Y/UV 4:2:0)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[6]: 'NM12' (Y/UV 4:2:0 (N-C))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[7]: 'YM24' (Planar YUV 4:4:4 (N-C))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[8]: 'XR24' (32-bit BGRX 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[9]: 'AR24' (32-bit BGRA 8-8-8-8)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --list-framesizes YUYV&lt;/DIV&gt;&lt;DIV&gt;ioctl: VIDIOC_ENUM_FRAMESIZES&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1920x1080&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1280x800&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 1280x720&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Size: Discrete 640x480&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# v4l2-ctl -d0 --set-fmt-video=width=1280,height=800,pixelformat=YUYV --stream-mmap=4 --stream-count=10 --stream-to=test.yuv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;# ls -l test.yuv&lt;/DIV&gt;&lt;DIV&gt;-rw-r--r-- 1 root root 20480000 Feb 25 02:55 test.yuv&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1280,height=800" ! queue ! waylandsink&lt;/DIV&gt;&lt;DIV&gt;i have a display on xwindows&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;When i launch code with the OpenCV video capture function with log debug level&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;cv::VideoCapture camera(0, cv::CAP_V4L2);&lt;/DIV&gt;&lt;DIV&gt;I get&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.030] global cap_v4l.cpp:1005 open VIDEOIO(V4L2:/dev/video0): opening...&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.030] global cap_v4l.cpp:1021 open VIDEOIO(V4L2:/dev/video0): deviceHandle=14&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_QUERYCAP(2154321408), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_QUERYCAP(2154321408), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_G_FMT(3234878980), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_G_FMT(3234878980), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_S_FMT(3234878981), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_S_FMT(3234878981), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_S_PARM(3234616854), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_S_PARM(3234616854), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1089 tryIoctl VIDEOIO(V4L2:/dev/video0): tryIoctl(14, VIDIOC_G_PARM(3234616853), failIfBusy=1)&lt;/DIV&gt;&lt;DIV&gt;[DEBUG:0@0.031] global cap_v4l.cpp:1097 tryIoctl VIDEOIO(V4L2:/dev/video0): call ioctl(14, VIDIOC_G_PARM(3234616853), ...) =&amp;gt; 0&amp;nbsp; &amp;nbsp; errno=0 (Success)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;ioctl with VIDIOC_G_FMT, VIDIOC_S_FMT, VIDIOC_S_PARM, VIDIOC_G_PARM work&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 03 Mar 2025 11:00:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2054668#M751</guid>
      <dc:creator>OlivierG</dc:creator>
      <dc:date>2025-03-03T11:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: ioctl failed</title>
      <link>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2055563#M756</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I solved this problem using&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/173737/1/v4lcap.c" target="_blank"&gt;https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/173737/1/v4lcap.c&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Greetings&lt;/P&gt;&lt;P&gt;Olivier&lt;/P&gt;</description>
      <pubDate>Tue, 04 Mar 2025 14:16:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Graphics/ioctl-failed/m-p/2055563#M756</guid>
      <dc:creator>OlivierG</dc:creator>
      <dc:date>2025-03-04T14:16:46Z</dc:date>
    </item>
  </channel>
</rss>

