Dual camera on ubuntu?


(Brian Kim) #1

As the source code, kernel make just one video port(/dev/video). Is not support dual camera at same time on linux kernel ?


(barry) #2

I am the same question.


(Dubravko Penezic) #3

Same for me, however i dont like confuse an inadequate documentation, especially when examples doesnt work .


(Dubravko Penezic) #4

I am wonder how hard is to write instruction like one available on Raspberry Pi https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md


(Dubravko Penezic) #5

I finally detect issue , for beginning we have kernel issue , because actual kernel Linux bpi-iot-ros-ai 3.4.39-BPI-M3-Kernel #8 SMP PREEMPT Tue Jul 10 02:26:09 UTC 2018 armv7l armv7l armv7l GNU/Linux dosnt recognize OV8865 camera (very strange kernel driver has name ov8858).

When implement kernel driver ov8858 :

[ 2201.977290] [VFE]vfe_exit
[ 2201.977553] [VFE_WARN]vfe vpu clock is null
[ 2201.977730] [VFE_WARN]vfe vpu clock is null
[ 2201.977849] [VFE_WARN]os_gpio_release, hdl is NULL
[ 2201.977901] [VFE_WARN]os_gpio_release, hdl is NULL
[ 2201.977923] [VFE_WARN]os_gpio_release, hdl is NULL
[ 2201.977944] [VFE_WARN]os_gpio_release, hdl is NULL
[ 2201.978188] [VFE_ERR]vfe dphy clock is null
[ 2201.978211] [VFE_WARN]vfe dphy clock source is null
[ 2201.978260] sunxi_vfe sunxi_vfe.0: unregistering vfe-0
[ 2201.978299] [VFE]vfe_remove ok!
[ 2201.978472] [VFE]vfe_device_release
[ 2201.978500] [VFE]platform_device_unregister[0]
[ 2201.978637] [VFE]platform_driver_unregister
[ 2201.978663] [VFE]vfe_release ok!
[ 2201.978681] [VFE]vfe_exit end
[ 2209.825736] sensor_remove ov5640 sd = e5e51e00!
[ 2209.829902] [VFE]cci_exit start
[ 2209.830494] [VFE]cci_device_release
[ 2209.830689] [VFE]cci_exit end
[ 2224.835373] [VFE]cci probe start cci_sel = 0!
[ 2224.835479] [VFE]cci probe end cci_sel = 0!
[ 2224.835733] [VFE]cci_init end
[ 2239.492188] [VFE]Welcome to Video Front End driver
[ 2239.493382] [VFE]pdev->id = 0
[ 2239.493418] [VFE]dev->mipi_sel = 0
[ 2239.493446] [VFE]dev->vip_sel = 0
[ 2239.493470] [VFE]dev->isp_sel = 0
[ 2239.499907] [VFE_WARN]vfe vpu clock is null
[ 2239.510279] [ISP] isp platform_id = 4!
[ 2239.510592] [VFE]vfe_init end
[ 2239.520522] [VFE]probe_work_handle start!
[ 2239.520558] [VFE]..........................vfe clk open!.......................
[ 2239.520895] [VFE]v4l2 subdev register input_num = 0
[ 2239.520972] axp81x_dldo4: Failed to create debugfs directory
[ 2239.521020] axp81x_dldo4: Failed to create debugfs directory
[ 2239.521068] axp81x_eldo1: Failed to create debugfs directory
[ 2239.521097] [VFE]vfe sensor detect start! input_num = 0
[ 2239.521128] [VFE]Find sensor name is "ov5640", i2c address is 78, type is "YUV" !
[ 2239.521158] [VFE]Sub device register "ov5640" i2c_addr = 0x78 start!
[ 2239.521190] [VFE_ERR]Error registering v4l2 subdevice No such device!
[ 2239.521217] [VFE_ERR]vfe sensor register check error at input_num = 0
[ 2239.521261] [VFE]V4L2 device registered as vfe-0
[ 2239.521368] [VFE]..........................vfe clk close!.......................
[ 2239.521421] [VFE]probe_work_handle end!

when implement ov5640 driver :

[   21.304302] [VFE]cci probe start cci_sel = 0!
[   21.304406] [VFE]cci probe end cci_sel = 0!
[   21.304631] [VFE]cci_init end
[   21.424643] [VFE]Welcome to Video Front End driver
[   21.425806] [VFE]pdev->id = 0
[   21.425846] [VFE]dev->mipi_sel = 0
[   21.425878] [VFE]dev->vip_sel = 0
[   21.425907] [VFE]dev->isp_sel = 0
[   21.432377] [VFE_WARN]vfe vpu clock is null
[   21.443924] [ISP] isp platform_id = 4!
[   21.444233] [VFE]vfe_init end
[   21.450170] [VFE]probe_work_handle start!
[   21.450215] [VFE]..........................vfe clk open!.......................
[   21.450557] [VFE]v4l2 subdev register input_num = 0
[   21.450648] axp81x_dldo4: Failed to create debugfs directory
[   21.450719] axp81x_dldo4: Failed to create debugfs directory
[   21.450791] axp81x_eldo1: Failed to create debugfs directory
[   21.450830] [VFE]vfe sensor detect start! input_num = 0
[   21.450870] [VFE]Find sensor name is "ov5640", i2c address is 78, type is "YUV" !
[   21.450908] [VFE]Sub device register "ov5640" i2c_addr = 0x78 start!
[   21.450944] [VFE]v4l2_device_register_subdev return 0
[   21.450969] [VFE]registered sensor subdev is OK!
[   21.450992] [VFE]Check sensor!
[   21.452493] [VFE]mclk on
[   21.521694] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = bf0a30
[   21.522072] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = a30
[   21.522438] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = a30
[   21.522483] [OV5640@lex]error at sensor_detect
[   21.522509] [OV5640@lex]chip found is not an target chip.
[   21.522536] [VFE]mclk off
[   21.549199] [VFE]vfe sensor subdev unregister!
[   21.549248] [VFE]Sub device register "ov5640" failed!
[   21.549284] [VFE_ERR]vfe sensor register check error at input_num = 0
[   21.565832] [VFE]V4L2 device registered as vfe-0
[   21.565948] [VFE]..........................vfe clk close!.......................
[   21.566008] [VFE]probe_work_handle end!

and I have connected only ov8865 on board. According official documentation OV5640 has I2C address 0x78 (which look correctly) and OV8865 0x6C. So kernel driver doesnt talk over i2C at all or BPI sold some fake board …