Dear All,
Hello. I tested the preview function on MCIMX6SLEVK.
But, the preview didn't function.
Could you tell me the how to preview on MCIMX6SLEVK?
[Board] : MCIMX6SLEVK (LCD: MCIMX28LCD)
[Camera] : OV5642 module
[Image] : L3.10.53_1.0.0 (PreBuild Image)
[gst-launch command line]
$ modprobe ov5642_camera
$ modprobe mxc_v4l2_capture
$ gst-launch-1.0 imxv4l2src device=/dev/video0 ! 'video/x-raw,format=(string)UYVY,width=640,height=480,framerate=(fraction)30/1' ! imxv4l2sink
[Error message]
Can't get caps from capture device, use the default setting.
Perhaps haven't capture device.
====== IMXV4L2SRC: 4.0.2 build on Jan 5 2015 13:31:02. ======
set color key:00010203
====== IMXV4L2SINK: 4.0.2 build on Jan 5 2015 13:31:02. ======
WARNING: erroneous pipeline: could not link imxv4l2src0 to imxv4l2sink0
Best Regards,
Keita
Solved! Go to Solution.
Keita, hi !
Perhaps the issue relates to the fact, that CSI and EPDC hardware cannot be used
simultaneously, because these two modules share the same pins on the EVK board.
The board file in BSP configures these pins for proper function through DTS.
Use imx6sl-evk.dts for EPDC, and imx6sl-evkcsi.dts for CSI.
Please take a look at Table 3 (Kernel and device tree configurations) of
"i.MX_Linux_Release_Notes.pdf" in order to select proper demo images.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Yuri,
Hello.
i.MX6SL preview was success on L3.10.53_1.0.0.
But, on L3.14.28_1.0.0, it was not possible to preview. (I tested the my built image and pre-build image.)
Of cause, I replaced the dtb file from imx6sl-evk.dtb to imx6sl-evk-csi.dtb and changed the "fdt_file" parameter.
Please tell me the how to operate the parallel camera(ov5642) on L3.14.28.
I found the difference of boot log between L3.14.28 and 3.10.53.
OV5642 was found on L3.10.53.
[Boot log on L3.10.53_1.0.0]
ov5640 2-003c: cannot get io voltage
camera ov5640 is not found
ov5642_power_on: cannot get io voltage error
camera ov5642 is found
FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
[Boot log on L3.14.28_1.0.0]
Starting udev
udevd[126]: starting version 182
2-003c supply DOVDD not found, using dummy regulator
camera ov5640 is not found
random: nonblocking pool is initialized
bootlogd: cannot allocate pseudo tty: No such file or directory
ALSA: Restoring mixer settings...
Found hardware: "wm8962-audio" "" "" ""
[gst-launch command line on L3.14.28_1.0.0 ]
$ modprobe ov5642_camera
$ modprobe mxc_v4l2_capture
$ gst-launch-1.0 imxv4l2src device=/dev/video0 ! 'video/x-raw,format=(string)UYVY,width=640,height=480,framerate=(fraction)30/1' ! imxv4l2sink
[Error Message on L3.14.28_1.0.0]
(gst-launch-1.0:837): GStreamer-CRITICAL **: gst_caps_simplify: assertion 'GST_IS_CAPS (caps)' failed
(gst-launch-1.0:837): GStreamer-CRITICAL **: gst_caps_append: assertion 'GST_IS_CAPS (caps2)' failed
====== IMXV4L2SRC: 4.0.3 build on Jul 6 2015 18:41:32. ======
set color key:00010203
====== IMXV4L2SINK: 4.0.3 build on Jul 6 2015 18:41:32. ======
WARNING: erroneous pipeline: could not link imxv4l2src0 to imxv4l2sink0
Best Regards,
Keita
Hello,
Does L3.14.28 image supports GUI ? Perhaps minimal image was used ?
Regards,
Yuri.
Dear Yuri,
Do you have any update? Please give me a status of analysis.
My customer is very hurry.
Please send your answer ASAP.
When can I get your answer?
Best Regards,
Keita
Hi,
Please check if in kernel boot parameters "csi" is mentioned, and any
refers to EPDC are removed.
Regards,
Yuri.
ov5642 is EOL, 3.14 BSP does not support ov5642 again.
And another important thing is from 3.14, the camera driver adopts the v4l2 subdev framework.
So you may refer to the new ov5640 driver to make the ov5642 to work. It's fairly easy.
Regards,
Robby
Dear Dongjun Cai,
> ov5642 is EOL, 3.14 BSP does not support ov5642 again.
The OV5642 could operate on i.MX6Q SABRE-SDP with 3.14 BSP.
But, on i.MX6SL EVK, OV5642 didn't operate and wasn't recognized.
>And another important thing is from 3.14, the camera driver adopts the v4l2 subdev framework.
>So you may refer to the new ov5640 driver to make the ov5642 to work. It's fairly easy.
Please give me a detail steps to work OV5642 (Parallel camera).
Best Regards,
Keita
Keita,
i.MX6Q uses the different camera interface (work with IPU), while i.MX6SL use CSI ( no IPU).
only the latter uses the V4L2 SubDev framework, you can compare the ov5640 source file between 3.10 and 3.14 and then map the change to 3.14 for ov5642.
Regards,
Robby
in 3.14 kernel, for ov5640 driver using v4l2 subdev:
drivers/media/platform/mxc/subdev/ov5640.c
Hi Dongijun,
Thank you for your information.
I looked the ov5640.c (in L3.14.28) and ov5642.c (in L3.10.53).
But, a lot of differences were seen.
(It doesn't look fairly easy.)
Please make the driver for OV5642 with L3.14.28 on your side?
Our customer is urging us to fix this issue.
(The "camera support" is described in the release note. So, my customer's project has been started with L3.14.28.)
Best Regards,
Keita
Hi Qiang,
Thank you for your great support!
I tested it with your patch.
But, the camera didn't work correctly.
Could you tell me the steps to work OV5642?
[Error message]
WARNING: erroneous pipeline: could not link imxv4l2src0 to imxv4l2sink0
[lsmod]
root@imx6slevk:~# lsmod
ipu_bg_overlay_sdc 5329 1 mxc_v4l2_capture
ipu_still 2339 1 mxc_v4l2_capture
ipu_prp_enc 5899 1 mxc_v4l2_capture
ipu_csi_enc 3602 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 6145 1 mxc_v4l2_capture
ov5642_camera 78252 0
v4l2_int_device 2930 2 ov5642_camera,mxc_v4l2_capture
mx6s_capture 13389 0
evbug 1875 0
[My step's Log]
root@imx6slevk:~# export GST_DEBUG=*sink*:5,*src*:5
root@imx6slevk:~# gst-launch-1.0 -v -m imxv4l2src device=/dev/video1 ! 'video/x-raw,format=(string)UYVY,width=640,height=480,framerate=(fraction)30/1' ! imxv4l2sink
0:00:00.071467125 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:445:gst_base_src_init:<GstBaseSrc@0x1e6c0e0> creating src pad
0:00:00.071746167 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:448:gst_base_src_init:<GstBaseSrc@0x1e6c0e0> setting functions on src pad
0:00:00.071840208 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:456:gst_base_src_init:<GstBaseSrc@0x1e6c0e0> adding src pad
0:00:00.071927667 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:473:gst_base_src_init:<GstBaseSrc@0x1e6c0e0> init done
====== IMXV4L2SRC: 4.0.3 build on Mar 21 2015 00:44:52. ======
set color key:00010203
====== IMXV4L2SINK: 4.0.3 build on Mar 21 2015 00:44:52. ======
0:00:00.081507583 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:1280:gst_base_src_default_query:<imxv4l2src0> query caps returns 1
0:00:00.081832958 838 0x1e480e0 DEBUG basesrc /var/lib/jenkins/workspace/dizzy-3.14-X-1.0.0_X11_release/temp_build_dir/build_all/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:1280:gst_base_src_default_query:<imxv4l2src0> query caps returns 1
WARNING: erroneous pipeline: could not link imxv4l2src0 to imxv4l2sink0
Best Regards,
Keita
Hi Keita, you can use the unit test application to confirm the driver is working fine:
/unit_tests/mx6s_v4l2_capture.out -m 0 -d /dev/video0
By the way, you should not use the mxc_v4l2_capture and IPU related drivers, you should use csi_v4l2_capture driver for iMX6SL.
You can reference to followed picture to build in the drivers, it will be easy for test.
I get the same error as Nori Shinozaki when trying to create a GStreamer pipeline. However I'm using the SoloX and the internal VADC. The unit-test for the VADC works, but when I try to create the following GStreamer pipeline I get the error
root@dev~# gst-launch-1.0 imxv4l2src device=/dev/video0 ! imxv4l2sink device=/dev/video1
====== IMXV4L2SRC: 4.0.3 build on Nov 27 2015 09:17:20. ======
====== IMXV4L2SINK: 4.0.3 build on Nov 27 2015 09:17:20. ======
WARNING: erroneous pipeline: could not link imxv4l2src0 to imxv4l2sink0
root@dev:~#
I'm using kernel 3.14.28. Any ideas what is wrong?
BR
Please try with "gst-launch-1.0 imxv4l2src device=/dev/video1 ! imxv4l2sink device=/dev/video0".
Hello Qiang,
I did as you wrote but it fails.
Here is the log.
I have the modules built in a kernel.
gst-launch-1.0 -v -m imxv4l2src device=/dev/video1 ! imxv4l2sink device=/dev/video0
0:00:00.068302625 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:445:gst_base_src_init:<GstBaseSrc@0x12380b8> creating src pad
0:00:00.068969583 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:448:gst_base_src_init:<GstBaseSrc@0x12380b8> setting functions on src pad
0:00:00.069324416 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:456:gst_base_src_init:<GstBaseSrc@0x12380b8> adding src pad
0:00:00.069712166 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:473:gst_base_src_init:<GstBaseSrc@0x12380b8> init done
====== IMXV4L2SRC: 4.0.3 build on Nov 27 2015 10:45:26. ======
(gst-launch-1.0:853): GStreamer-CRITICAL **: gst_debug_log_valist: assertion 'category != NULL' failed
set color key:00010203
====== IMXV4L2SINK: 4.0.3 build on Nov 27 2015 10:45:26. ======
0:00:01.124581458 853 0x12112e0 DEBUG imxv4l2sink /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/imx6slevk-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.3-r0/gst1.0-fsl-plugins-4.0.3/plugins/v4l2/gstimxv4l2sink.c:109:gst_imx_v4l2sink_set_property:<imxv4l2sink0> set_property (1).
0:00:01.126984416 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:1280:gst_base_src_default_query:<imxv4l2src0> query caps returns 1
0:00:01.128350125 853 0x12112e0 DEBUG basesrc /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesrc.c:1280:gst_base_src_default_query:<imxv4l2src0> query caps returns 1
Setting pipeline to PAUSED ...
0:00:01.130676333 853 0x12112e0 DEBUG imxv4l2sink /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/imx6slevk-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.3-r0/gst1.0-fsl-plugins-4.0.3/plugins/v4l2/gstimxv4l2sink.c:234:gst_imx_v4l2sink_change_state:<imxv4l2sink0> 1 -> 2
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
0:00:01.134070291 853 0x12112e0 DEBUG imxv4l2sink /home/142425/3.14.28_1.0.0-ga/imx6slevk-x11/tmp/work/imx6slevk-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.3-r0/gst1.0-fsl-plugins-4.0.3/plugins/v4l2/gstimxv4l2sink.c:234:gst_imx_v4l2sink_change_state:<imxv4l2sink0> 1 -> 1
Freeing pipeline ...
Caught SIGSEGV
#0 0x76d4e498 in waitpid () from /lib/libpthread.so.0
#1 0x76d78d60 in g_on_error_stack_trace () from /usr/lib/libglib-2.0.so.0
#2 0x0000b4dc in ?? ()
Spinning. Please run 'gdb gst-launch-1.0 853' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
Best regards,
Nori Shinozaki
Please download the 3.14.28 release image "L3.14.28_1.0.0_iMX6QDLS_BUNDLE" from:
Embedded Linux for i.MX Applications Processo|Freescale
On a Linux PC, create the SD card image:
sudo dd if=fsl-image-qt5-x11-imx6slevk.sdcard of=/dev/sdx
Then replace the zImage and imx6sl-evk-csi.dtb with attched files.
After booted the imx6sl evk board, run the test commands:
gst-launch-1.0 imxv4l2src device=/dev/video0 ! imxv4l2sink device=/dev/video1
Hi Qiang,
This one worked with my zImage and dtb!
gst-launch-1.0 imxv4l2src device=/dev/video0 ! imxv4l2sink device=/dev/video1
Thank you so much!!
Best regards,
Nori Shinozaki