Firefly Open Source Community

   Login   |   Register   |
New_Topic
1234
New Topic
Print Previous Topic Next Topic

[Linux] Dual OV13850 cameras finally land on Firefly-RK3399 in Ubuntu 18.04!

1395

Credits

0

Prestige

0

Contribution

vip

Rank: 6Rank: 6

Credits
1395
Posted at 1/25/2019 11:03:03        Only Author  11#
This script is only tested and worked for Firefly-RK3399 board.
Reply

Use props Report

40

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
40
Posted at 1/25/2019 19:58:38        Only Author  12#
great job !
just a little question can we flash an image that is release later ? like this one (20190103)
https://pan.baidu.com/s/1PXbZXMA ... 67069%2FUbuntu18.04(GPT)&parentPath=%2Fsharelink1414141670-305585565267069



Reply

Use props Report

1395

Credits

0

Prestige

0

Contribution

vip

Rank: 6Rank: 6

Credits
1395
Posted at 1/27/2019 16:38:06        Only Author  13#
It might work. Just go ahead and try.
Reply

Use props Report

29

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
29
Posted at 1/31/2019 17:17:14        Only Author  14#
Hi,   really awesome work.  I still can not get image from camera1. camera0 works ok.

root@firefly:~# dmesg  | grep 1385
[    0.138525] SMP: Total of 6 processors activated.
[    1.218601] ov13850 1-0036: GPIO lookup for consumer reset
[    1.218615] ov13850 1-0036: using device tree for GPIO lookup
[    1.218655] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/i2c@ff110000/ov13850@36[0]' - status (0)
[    1.218710] ov13850 1-0036: Looking up avdd-supply from device tree
[    1.218898] ov13850 1-0036: Looking up dovdd-supply from device tree
[    1.218995] ov13850 1-0036: Looking up dvdd-supply from device tree
[    1.219331] ov13850 1-0036: GPIO lookup for consumer pwdn
[    1.219341] ov13850 1-0036: using device tree for GPIO lookup
[    1.219380] of_get_named_gpiod_flags: parsed 'pwdn-gpios' property of node '/i2c@ff110000/ov13850@36[0]' - status (0)
[    1.224184] ov13850 1-0036: Detected OV00d850 sensor, REVISION 0xb2
[    1.228173] ov13850 1-0046: GPIO lookup for consumer pwdn
[    1.228192] ov13850 1-0046: using device tree for GPIO lookup
[    1.228253] of_get_named_gpiod_flags: parsed 'pwdn-gpios' property of node '/i2c@ff110000/ov13850@46[0]' - status (0)
[    1.232870] ov13850 1-0046: Detected OV00d850 sensor, REVISION 0xb2



root@firefly:/usr/local/bin# ./dual-camera-rkisp.sh
sensorbayer=SBGGR10_1X10
sensorname="ov13850 1-0036"
sensorres=2112x1568
mpnode=/dev/video0
mpfmt=NV12
mpres=640x480
spnode=/dev/video1
spfmt=NV12
spres=640x480
parse user options success ...
crop 2084,1568@(14,0)
crop 2084,1568@(14,0)
config sensor: '"ov13850 1-0036":0[fmt:SBGGR10/2112x1568]'
config mipiphy input: '"rockchip-sy-mipi-dphy":0[fmt:SBGGR10/2112x1568]'
config mipiphy output: '"rockchip-sy-mipi-dphy":1[fmt:SBGGR10/2112x1568]'
config isp input fmt: '"rkisp1-isp-subdev":0[fmt:SBGGR10/2112x1568]'
config isp input crop: '"rkisp1-isp-subdev":0[crop0,0)/2112x1568]'
config isp output crop: '"rkisp1-isp-subdev":2[crop0,0)/2112x1568]'
config isp output fmt: '"rkisp1-isp-subdev":2[fmt:YUYV2X8/2112x1568]'
config mp crop: /dev/video0 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config mp fmt: /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=NV12
config sp crop: /dev/video1 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config sp fmt: /dev/video1 --set-fmt-video=width=640,height=480,pixelformat=NV12
sensorbayer=SBGGR10_1X10
sensorname="ov13850 1-0046"
sensorres=2112x1568
mpnode=/dev/video4
mpfmt=NV12
mpres=640x480
spnode=/dev/video5
spfmt=NV12
spres=640x480
parse user options success ...
crop 2084,1568@(14,0)
crop 2084,1568@(14,0)
config sensor: '"ov13850 1-0046":0[fmt:SBGGR10/2112x1568]'
config mipiphy input: '"rockchip-sy-mipi-dphy":0[fmt:SBGGR10/2112x1568]'
config mipiphy output: '"rockchip-sy-mipi-dphy":1[fmt:SBGGR10/2112x1568]'
config isp input fmt: '"rkisp1-isp-subdev":0[fmt:SBGGR10/2112x1568]'
config isp input crop: '"rkisp1-isp-subdev":0[crop0,0)/2112x1568]'
config isp output crop: '"rkisp1-isp-subdev":2[crop0,0)/2112x1568]'
config isp output fmt: '"rkisp1-isp-subdev":2[fmt:YUYV2X8/2112x1568]'
config mp crop: /dev/video4 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config mp fmt: /dev/video4 --set-fmt-video=width=640,height=480,pixelformat=NV12
config sp crop: /dev/video5 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config sp fmt: /dev/video5 --set-fmt-video=width=640,height=480,pixelformat=NV12
Setting pipeline to PAUSED ...
media get entity by name: rockchip-mipi-dphy-rx is null
media get entity by name: lens is null
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR rkisp_control_loop_impl.cpp:69: get isp version failed !
Pipeline is live and does not need PREROLL ...
XCAM ERROR rkisp_device.cpp:72: atomisp device(/dev/video0) try subdev format failed
Setting pipeline to PLAYING ...
New clock: GstSystemClock
XCAM ERROR aec.c:1838: GAIN OUT OF RANGE: lasttime-gain: 0.001000-3.000000
Setting pipeline to PAUSED ...
media get entity by name: rockchip-mipi-dphy-rx is null
media get entity by name: lens is null
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR rkisp_control_loop_impl.cpp:69: get isp version failed !
Pipeline is live and does not need PREROLL ...
XCAM ERROR rkisp_device.cpp:72: atomisp device(/dev/video4) try subdev format failed
Setting pipeline to PLAYING ...
New clock: GstSystemClock
XCAM ERROR aec.c:1838: GAIN OUT OF RANGE: lasttime-gain: 0.001000-3.000000
XCAM ERROR v4l2_device.cpp:505: device(/dev/video4) start failed on VIDIOC_STREAMON
XCAM ERROR v4l2_device.cpp:670: release buffer: munmap failed
XCAM ERROR v4l2_device.cpp:670: release buffer: munmap failed
XCAM ERROR v4l2_device.cpp:670: release buffer: munmap failed
XCAM ERROR v4l2_device.cpp:670: release buffer: munmap failed
XCAM ERROR device_manager.cpp:329: capture device start failed
ERROR: from element /GstPipeline:pipeline0/GstXCamSrc:xcamsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstXCamSrc:xcamsrc0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:01.083581630
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
^C
root@firefly:/usr/local/bin# handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:12.682335287
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


Thanks^0^

Will you open source for patch dirver and dts or pull the modification to firefly github?
Reply

Use props Report

29

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
29
Posted at 1/31/2019 17:33:06        Only Author  15#
PpHLNmt1R Posted at 1/31/2019 17:17
Hi,   really awesome work.  I still can not get image from camera1. camera0 works ok.

root@firefl ...

Both camera works separately.
Reply

Use props Report

40

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
40
Posted at 2/11/2019 02:01:52        Only Author  16#
he same for me both cmera work on the exterior connection.
it look like the pin the closer to the heat sink doesn't work for me :/

sudo dual-camera-rkisp.sh
sensorbayer=SBGGR10_1X10
sensorname="ov13850 1-0036"
sensorres=2112x1568
mpnode=/dev/video0
mpfmt=NV12
mpres=640x480
spnode=/dev/video1
spfmt=NV12
spres=640x480
parse user options success ...
crop 2084,1568@(14,0)
crop 2084,1568@(14,0)
config sensor: '"ov13850 1-0036":0[fmt:SBGGR10/2112x1568]'
config mipiphy input: '"rockchip-sy-mipi-dphy":0[fmt:SBGGR10/2112x1568]'
config mipiphy output: '"rockchip-sy-mipi-dphy":1[fmt:SBGGR10/2112x1568]'
config isp input fmt: '"rkisp1-isp-subdev":0[fmt:SBGGR10/2112x1568]'
config isp input crop: '"rkisp1-isp-subdev":0[crop0,0)/2112x1568]'
config isp output crop: '"rkisp1-isp-subdev":2[crop0,0)/2112x1568]'
config isp output fmt: '"rkisp1-isp-subdev":2[fmt:YUYV2X8/2112x1568]'
config mp crop: /dev/video0 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config mp fmt: /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=NV12
config sp crop: /dev/video1 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config sp fmt: /dev/video1 --set-fmt-video=width=640,height=480,pixelformat=NV12

sensorbayer=SBGGR10_1X10
sensorname="ov13850 1-0046"
sensorres=2112x1568
mpnode=/dev/video4
mpfmt=NV12
mpres=640x480
spnode=/dev/video5
spfmt=NV12
spres=640x480
parse user options success ...
crop 2084,1568@(14,0)
crop 2084,1568@(14,0)
config sensor: '"ov13850 1-0046":0[fmt:SBGGR10/2112x1568]'
config mipiphy input: '"rockchip-sy-mipi-dphy":0[fmt:SBGGR10/2112x1568]'
config mipiphy output: '"rockchip-sy-mipi-dphy":1[fmt:SBGGR10/2112x1568]'
config isp input fmt: '"rkisp1-isp-subdev":0[fmt:SBGGR10/2112x1568]'
config isp input crop: '"rkisp1-isp-subdev":0[crop0,0)/2112x1568]'
config isp output crop: '"rkisp1-isp-subdev":2[crop0,0)/2112x1568]'
config isp output fmt: '"rkisp1-isp-subdev":2[fmt:YUYV2X8/2112x1568]'
config mp crop: /dev/video4 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config mp fmt: /dev/video4 --set-fmt-video=width=640,height=480,pixelformat=NV12
config sp crop: /dev/video5 --set-selection=target=crop,top=0,left=14,width=2084,height=1568
config sp fmt: /dev/video5 --set-fmt-video=width=640,height=480,pixelformat=NV12
Setting pipeline to PAUSED ...
media get entity by name: rockchip-mipi-dphy-rx is null
media get entity by name: lens is null
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR rkisp_control_loop_impl.cpp:69: get isp version failed !
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
XCAM ERROR rkisp_device.cpp:72: atomisp device(/dev/video0) try subdev format failed
XCAM ERROR aec.c:1838: GAIN OUT OF RANGE: lasttime-gain: 0.001000-3.000000
Setting pipeline to PAUSED ...
media get entity by name: rockchip-mipi-dphy-rx is null
media get entity by name: lens is null
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR v4l2_device.cpp:253: VIDIOC_QUERYCAP returned: -1 (Inappropriate ioctl for device)
XCAM ERROR rkisp_control_loop_impl.cpp:69: get isp version failed !
Pipeline is live and does not need PREROLL ...
XCAM ERROR rkisp_device.cpp:72: atomisp device(/dev/video4) try subdev format failed
Setting pipeline to PLAYING ...
New clock: GstSystemClock
XCAM ERROR aec.c:1838: GAIN OUT OF RANGE: lasttime-gain: 0.001000-3.000000
Reply

Use props Report

40

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
40
Posted at 2/11/2019 03:28:24        Only Author  17#
ERROR: from element /GstPipeline:pipeline0/GstXCamSrc:xcamsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstXCamSrc:xcamsrc0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:01.068191325
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
ERROR: from element /GstPipeline:pipeline0/GstGtkSink:gtksink0: Output widget was destroyed
Additional debug info:
gstgtkbasesink.c(486): gst_gtk_base_sink_show_frame (): /GstPipeline:pipeline0/GstGtkSink:gtksink0
Execution ended after 0:00:38.340511582


here more info about the error
Reply

Use props Report

64

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
64
Posted at 2/11/2019 15:32:32        Only Author  18#
Last edited by acidpero In 2/12/2019 11:26 Editor

Happy New Year.
Long time no see. I'm using dual csi-mipi well

by the way,
ov13850 using 4 lane?

board and camera sensor schematics are showing 4 lanes.
but I think 'rk3399-firefly-linux.dts' not shown as using 4 lanes.
https://github.com/FireflyTeam/k ... efly-linux.dts#L722

@penguin how do you think about this?
Reply

Use props Report

1395

Credits

0

Prestige

0

Contribution

vip

Rank: 6Rank: 6

Credits
1395
Posted at 2/13/2019 17:04:01        Only Author  19#
@PpHLNmt1R
source code is already at:

   https://github.com/FireflyTeam/k ... le-4.4-rk3399-linux

@acidpero
truly i'm not an expert on ov13850.
you can try to use 4 lanes by modifying dts node
and the ov13850 sensor driver.
Reply

Use props Report

107

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
107
Posted at 2/14/2019 11:18:35        Only Author  20#
@penguin Your instructions are useful and I can look at your repository, but without taking the entire repo apart could you outline what you have done to make dual cameras possible?
This is VERY important for portability and I do want to use something other than ubuntu. I was thinking Gentoo. It is ideal for making things small and customized down in size and increased in speed due to the differing options, both in terms of DEFINES and CFLAGS.
Thanks for your work! It means a lot to us!
Reply

Use props Report

Return to List
1234
You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list