About preview function in i.MX6SL.

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

About preview function in i.MX6SL.

Jump to solution
11,334 Views
keitanagashima
Senior Contributor I

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

Labels (3)
1 Solution
7,597 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
Reply
31 Replies
7,598 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!
0 Kudos
Reply
5,795 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
5,795 Views
keitanagashima
Senior Contributor I

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

0 Kudos
Reply
5,795 Views
Yuri
NXP Employee
NXP Employee

Hello,

Does L3.14.28 image supports GUI ? Perhaps minimal image was used ?

Regards,

Yuri.

0 Kudos
Reply
5,795 Views
keitanagashima
Senior Contributor I

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

0 Kudos
Reply
5,795 Views
Yuri
NXP Employee
NXP Employee

Hi,

  Please check if in kernel boot parameters "csi" is mentioned, and any

refers to EPDC are removed.

Regards,

Yuri.

0 Kudos
Reply
5,794 Views
keitanagashima
Senior Contributor I

Hi Yuri,

I confirmed the IOMUX setting between L3.10.53_1.1.0 and L3.14.28_1.0.0 after boot-up kernel.

But, the difference wasn't seen.

Refer to attached file.

How is it possible to operate OV5642 with L3.14.28_1.0.0?

Best Regards,

Keita

0 Kudos
Reply
5,794 Views
robby
NXP Employee
NXP Employee

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

0 Kudos
Reply
5,794 Views
keitanagashima
Senior Contributor I

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

0 Kudos
Reply
5,794 Views
robby
NXP Employee
NXP Employee

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

0 Kudos
Reply
5,794 Views
robby
NXP Employee
NXP Employee

in 3.14 kernel, for ov5640 driver using v4l2 subdev:

drivers/media/platform/mxc/subdev/ov5640.c

0 Kudos
Reply
5,794 Views
keitanagashima
Senior Contributor I

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

0 Kudos
Reply
5,794 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

FYI

5,791 Views
keitanagashima
Senior Contributor I

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

mxc_v4l2_capture       25109  0

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

(gst-launch-1.0:838): GStreamer-CRITICAL **: gst_caps_append: assertion 'GST_IS_CAPS (caps2)' failed

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

0 Kudos
Reply
5,785 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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.

5,785 Views
JohnDoe1z
Contributor III

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

0 Kudos
Reply
5,785 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Please try with "gst-launch-1.0 imxv4l2src device=/dev/video1 ! imxv4l2sink device=/dev/video0".

0 Kudos
Reply
5,785 Views
norishinozaki
Contributor V

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

0 Kudos
Reply
5,785 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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

0 Kudos
Reply
5,785 Views
norishinozaki
Contributor V

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

0 Kudos
Reply