AnsweredAssumed Answered

GStreamer on the SABRELite with OV5642 based Nit6X_5MP Camera

Question asked by halioj on Dec 10, 2014
Latest reply on Jun 9, 2015 by Angelo Dureghello

I am trying to get the SABRE Lite board working with my parallel camera (OV5642 based Nit6X_5MP module), both from Boundary Devices:

 

http://boundarydevices.com/product/nit6x_5mp/

 

I am running the Yocto Dizzy pre-built image from Boundary Devices which boots up fine.

 

I was trying to get the camera input to be displayed on the HDMI monitor, but it consistently fails.  The "ov5642_camera" and "mxc_v4l2_capture" modules are loaded per the console:

 

Module                  Size  Used by

bluetooth             194905  2

ov5642_camera         122025  0

ov5640_camera_mipi     52395  0

mxc_v4l2_capture       24905  3 ov5642_camera,ov5640_camera_mipi

ipu_bg_overlay_sdc      4175  1 mxc_v4l2_capture

ov5640_camera          18199  0

ipu_still               1719  1 mxc_v4l2_capture

ipu_prp_enc             4707  1 mxc_v4l2_capture

adv7180_tvin            7304  0

ipu_csi_enc             2969  1 mxc_v4l2_capture

ipu_fg_overlay_sdc      5051  1 mxc_v4l2_capture

v4l2_int_device         1796  5 ov5642_camera,ov5640_camera_mipi,adv7180_tvin,mxc_v4l2_capture,ov5640_camera

flexcan                 8689  0

can_dev                 6641  1 flexcan


My Gstreamer command is as simple as it gets:

 

          gst-launch mfw_v4lsrc ! mfw_v4lsink

 

but as the console shows, it fails with the error "ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0".

 

root@nitrogen6x:~# gst-launch mfw_v4lsrc ! mfw_v4lsink

MFW_GST_V4LSRC_PLUGIN 3.0.11 build on Nov  7 2014 14:00:20.

mxc_v4l_open: Mxc Camera no sensor ipu1/csi0

mxc_v4l_open: Mxc Camera no sensor ipu1/csi1

MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Nov  7 2014 14:00:16.

Setting pipeline to PAUSED ...

Pipeline is live and does not need PREROLL ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

ERROR: from element /GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0: Internal data flow error.

Additional debug info:

/home/ericn/yocto18/build-nitrogen6x/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/MFWGstV4LSrc:mfwgstv4lsrc0:

streaming task paused, reason error (-5)

Execution ended after 10004338334 ns.

Setting pipeline to PAUSED ...

Setting pipeline to READY ...

Setting pipeline to NULL ...

Total rendered:0

Freeing pipeline ...

[--->FINALIZE v4l_sink

root@nitrogen6x:~# power_down_callback: ipu0/csi0

 

The behavior changes if I specify "capture-mode=5" or "capture-mode=6", but it fails with a different error.


root@nitrogen6x:~# gst-launch mfw_v4lsrc capture-mode=6 ! mfw_v4lsink

MFW_GST_V4LSRC_PLUGIN 3.0.11 build on Nov  7 2014 14:00:20.

mxc_v4l_open: Mxc Camera no sensor ipu1/csi0

mxc_v4l_open: Mxc Camera no sensor ipu1/csi1

MFW_GST_V4LSINK_PLUGIN 3.0.11 build on Nov  7 2014 14:00:16.

Setting pipeline to PAUSED ...

mxc_v4l2_s_param: vidioc_int_s_parm returned an error -22

ERROR: Pipeline doesn't want to pause.

Setting pipeline to NULL ...

Total rendered:0

Freeing pipeline ...

[--->FINALIZE v4l_sink

 

Any hints of where to look for the trouble would be appreciated!

Outcomes