imx6q ov5640_mipi ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q ov5640_mipi ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued

Jump to solution
3,831 Views
richarddestiny
Contributor III

Hi,all

      ov5640   i2c  is ok, and i can see the  clock and data wave, i want to get a  picture with  v4l2 ,and have  this  problem, why?

Thanks for your help.

Have a great day,

Labels (1)
Tags (1)
0 Kudos
Reply
1 Solution
2,192 Views
richarddestiny
Contributor III

Hi,all

     thanks for all of your help,i have solved the problem,it’s the camera work wrong~~

View solution in original post

0 Kudos
Reply
14 Replies
2,192 Views
carlsherratt
Contributor II

Just so everyone knows, This for me was a hardware issue. some of the physical lines on the board to the camera connector were not connected, now connected and fully working.

0 Kudos
Reply
2,192 Views
carlsherratt
Contributor II

Hi Richard,


I have the same output i.e

cat /dev/video0

ERROR: v4l2 capture: mxc_v4l_read timeout counter 0

imx-ipuv3 2400000.ipu: Not a CSI channel

Could you explain what you mean by "i have solved the problem,it’s the camera work wrong" as it may help myself and others? Thankyou.

0 Kudos
Reply
2,192 Views
sindhujakapugan
Contributor III

Hi Richard,


I have the  output i.e

cat /dev/video0

cat /dev/video0  > test.mpg

ov540 mode detected

master writing

master writing

master writing

master writing

master writing

master writing

master writing

master writing

master writing

master writing

master writing

master writing

ERROR: v4l2 capture: mxc_v4l_read timeout counter 0

cat: /dev/video0: Timer expired

could you explain how to solve this problem

Thankyou.

0 Kudos
Reply
2,193 Views
richarddestiny
Contributor III

Hi,all

     thanks for all of your help,i have solved the problem,it’s the camera work wrong~~

0 Kudos
Reply
2,192 Views
jimmychan
NXP TechSupport
NXP TechSupport

what BSP are you using?

please double check the id number of csi and ipu setting. which csi and ipu are you using?

0 Kudos
Reply
2,192 Views
richarddestiny
Contributor III

Hi,jimmy chan

     the  kernel is  v3.10.17   ,

the  device tree:

&mipi_csi {

  status = "okay";

  ipu_id = <0>;

  csi_id = <1>;

  v_channel = <0>;

  lanes = <2>;

};

v4l2_cap_1 {

  compatible = "fsl,imx6q-v4l2-capture";

  ipu_id = <0>;

  csi_id = <1>;

  mclk_source = <0>;

  status = "okay";

  };

&i2c2 {

  clock-frequency = <100000>;

  pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_i2c2_2>;

  status = "okay";

.................

  ov5640_mipi: ov5640_mipi@3c { /* i2c2 driver */

  compatible = "ovti,ov5640_mipi";

  reg = <0x3c>;

  clocks = <&clks 201>;

  clock-names = "csi_mclk";

  DOVDD-supply = <&vgen4_reg>; /* 1.8v */

  AVDD-supply = <&vgen3_reg>;  /* 2.8v, rev C board is VGEN3

  rev B board is VGEN5 */

  DVDD-supply = <&vgen2_reg>;  /* 1.5v*/

  pwn-gpios = <&gpio1 19 1>;   /* active low: SD1_CLK */

  rst-gpios = <&gpio1 20 0>;   /* active high: SD1_DAT2 */

  csi_id = <1>;

  mclk = <24000000>;

  mclk_source = <0>;

  };

....................

so,it's  right?

Thanks for your help.

Have a great day,

0 Kudos
Reply
2,192 Views
jimmychan
NXP TechSupport
NXP TechSupport

for csi_id=1, the v_channel should be 1.

0 Kudos
Reply
2,192 Views
richarddestiny
Contributor III

ov5640_set_virtual_channel(ov5640_data.csi);

yes,it's  1

0 Kudos
Reply
2,192 Views
jimmychan
NXP TechSupport
NXP TechSupport

what board are you using?

if not the sabresd, are you using the same gpio pins for rst and pwdn?

0 Kudos
Reply
2,192 Views
richarddestiny
Contributor III

it;s  imx6q   sabresd    kernel:3.10.17  rst  and pwdn  didn't  controled by gpio

thanks!

0 Kudos
Reply
2,192 Views
angelo_d
Senior Contributor I

From what i remember you should be able to capture single frames as i mentioned, maybe the video0 / 1 are output devices. Do you have some other videoXX, like video16 or the like ?

0 Kudos
Reply
2,192 Views
richarddestiny
Contributor III

HI,angelo dureghello

     root@imx6qdlsolo:~# ls /dev/video*

     /dev/video0   /dev/video16  /dev/video18  /dev/video20

     /dev/video1   /dev/video17  /dev/video19

     root@imx6qdlsolo:~# cat /dev/video16

     cat: read error: Invalid argument

     root@imx6qdlsolo:~# cat /dev/video17

     cat: read error: Invalid argument

     root@imx6qdlsolo:~#

Thanks for your help.

Have a great day,

0 Kudos
Reply
2,192 Views
angelo_d
Senior Contributor I

what happen capturing single frames (still) ? Should be able to capture 1 frame with

cat /dev/video0 > test.mpg

0 Kudos
Reply
2,192 Views
richarddestiny
Contributor III

Hi,angelo dureghello

root@imx6qdlsolo:~# cat /dev/video1   > test.mpg

ERROR: v4l2 capture: mxc_v4l_read timeout counter 0

imx-ipuv3 2400000.ipu: Not a CSI channel

cat: read error: Timer expired

Thanks for your help.

Have a great day,

0 Kudos
Reply