Raspberry Pi Multi CameraAdapter Module V2.2 mot working with Raspberry Pi4 B with 4 camera modules OV5647

Hi,

I have a problem.
I have:

  1. 4 Arducam 5MP OV5647 1080p Mini Camera Module for Raspberry Pi 4
  2. Raspberry Pi 4
  3. Raspberry Pi Multi CameraAdapter Module V2.2

I followed steps from RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel at master · ArduCAM/RaspberryPi · GitHub
and alsow i modified the Config.txt with

dtoverlay=camera-mux-4port,cam0-,cam1-,cam2-,cam3-

link:
https://docs.arducam.com/Raspberry-Pi-Camera/Multi-Camera-CamArray/Quick-Start-Guide-for-Multi-Adapter-Board/

On “test” step all 4 cameras displayed one by one.
terminal output

sudo ./init_camera.sh
----Test i2c1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – 36 – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: 70 – – – – – – –
----Detecting the /dev/video0 device
video0 detected!
—Start testing each camera
if all of them are normal, after it finished,you will see four image in the current path.
Start testing the camera A
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:02.461021881] [3538] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:08:02.508095883] [3539] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:02.523819069] [3539] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:02.538351000] [3539] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:02.551806249] [3539] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:02.560924125] [3538] INFO Camera camera.cpp:1028 configuring streams: (0) 1296x972-YUV420
[0:08:02.561339808] [3539] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 1296x972-SGBRG10_1X10 - Selected unicam format: 1296x972-pGAA
[0:08:07.701918692] [3538] INFO Camera camera.cpp:1028 configuring streams: (0) 2592x1944-YUV420 (1) 2592x1944-SGBRG10_CSI2P
[0:08:07.703520431] [3539] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 2592x1944-SGBRG10_1X10 - Selected unicam format: 2592x1944-pGAA
Still capture image received
Start testing the camera B
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:09.163307096] [3582] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:08:09.213969694] [3594] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:09.228622657] [3594] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:09.241992743] [3594] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:09.254838342] [3594] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:09.256254197] [3582] INFO Camera camera.cpp:1028 configuring streams: (0) 1296x972-YUV420
[0:08:09.256769685] [3594] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 1296x972-SGBRG10_1X10 - Selected unicam format: 1296x972-pGAA
[0:08:09.466475074] [3594] INFO V4L2 v4l2_videodevice.cpp:1820 /dev/video0[18:cap]: Zero sequence expected for first frame (got 3)
[0:08:14.396069389] [3582] INFO Camera camera.cpp:1028 configuring streams: (0) 2592x1944-YUV420 (1) 2592x1944-SGBRG10_CSI2P
[0:08:14.398089416] [3594] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 2592x1944-SGBRG10_1X10 - Selected unicam format: 2592x1944-pGAA
Still capture image received
Start testing the camera C
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:15.823688655] [3635] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:08:15.867881193] [3636] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:15.881762114] [3636] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:15.895443781] [3636] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:15.907161641] [3636] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:15.908971821] [3635] INFO Camera camera.cpp:1028 configuring streams: (0) 1296x972-YUV420
[0:08:15.909420311] [3636] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 1296x972-SGBRG10_1X10 - Selected unicam format: 1296x972-pGAA
[0:08:21.049962947] [3635] INFO Camera camera.cpp:1028 configuring streams: (0) 2592x1944-YUV420 (1) 2592x1944-SGBRG10_CSI2P
[0:08:21.051697353] [3636] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 2592x1944-SGBRG10_1X10 - Selected unicam format: 2592x1944-pGAA
Still capture image received
Start testing the camera D
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:22.480131003] [3677] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:08:22.526690079] [3678] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:22.540585882] [3678] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:22.554819066] [3678] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:22.567859517] [3678] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:08:22.569121415] [3677] INFO Camera camera.cpp:1028 configuring streams: (0) 1296x972-YUV420
[0:08:22.569573886] [3678] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 1296x972-SGBRG10_1X10 - Selected unicam format: 1296x972-pGAA
[0:08:27.700708507] [3677] INFO Camera camera.cpp:1028 configuring streams: (0) 2592x1944-YUV420 (1) 2592x1944-SGBRG10_CSI2P
[0:08:27.701584489] [3678] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 2592x1944-SGBRG10_1X10 - Selected unicam format: 2592x1944-pGAA
Still capture image received

But " Running your RPiCameras with ArduCam" step still failed
terminal output:

~/RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel/Multi_Camera_Adapter_V2.2_python $ export DISPLAY=:0
alex@raspberrypi:~/RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel/Multi_Camera_Adapter_V2.2_python $ python previewOpencv.py
Error: Could not set address to 0x70: Device or resource busy
init1 A
[0:37:22.629771896] [9897] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:37:22.667944000] [9912] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:22.681652105] [9912] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:22.694304716] [9912] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:22.707007455] [9912] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:22.713949070] [9897] INFO Camera camera.cpp:1028 configuring streams: (0) 320x240-BGR888
[0:37:22.714347301] [9912] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
Error: Could not set address to 0x70: Device or resource busy
[0:37:24.999403596] [9912] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[27:cap]: Dequeue timer of 2206000.00us has expired!
[0:37:24.999511075] [9912] ERROR RPI raspberrypi.cpp:1984 Unicam has timed out!
[0:37:24.999546481] [9912] ERROR RPI raspberrypi.cpp:1985 Please check that your camera sensor connector is attached securely.
[0:37:24.999573296] [9912] ERROR RPI raspberrypi.cpp:1986 Alternatively, try another cable and/or sensor.
init1 B
[0:37:25.623233155] [9897] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:37:25.694983200] [9939] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:25.713054056] [9939] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:25.733193215] [9939] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:25.751326569] [9939] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:25.761491924] [9897] INFO Camera camera.cpp:1028 configuring streams: (0) 320x240-BGR888
[0:37:25.761865971] [9939] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
Error: Could not set address to 0x70: Device or resource busy
[0:37:28.043254787] [9939] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[27:cap]: Dequeue timer of 2206000.00us has expired!
[0:37:28.043366525] [9939] ERROR RPI raspberrypi.cpp:1984 Unicam has timed out!
[0:37:28.043395266] [9939] ERROR RPI raspberrypi.cpp:1985 Please check that your camera sensor connector is attached securely.
[0:37:28.043449579] [9939] ERROR RPI raspberrypi.cpp:1986 Alternatively, try another cable and/or sensor.
init1 C
[0:37:28.665029095] [9897] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:37:28.701640891] [9964] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:28.712814001] [9964] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:28.724790463] [9964] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:28.736546245] [9964] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:28.742244131] [9897] INFO Camera camera.cpp:1028 configuring streams: (0) 320x240-BGR888
[0:37:28.742624493] [9964] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
Error: Could not set address to 0x70: Device or resource busy
[0:37:30.942858161] [9964] INFO V4L2 v4l2_videodevice.cpp:1820 /dev/video0[27:cap]: Zero sequence expected for first frame (got 1)
init1 D
[0:37:31.454501356] [9897] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:37:31.491105414] [9989] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:31.502467668] [9989] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:31.513102088] [9989] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:31.525388155] [9989] INFO RPI raspberrypi.cpp:1476 Registered camera /base/soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36 to Unicam device /dev/media1 and ISP device /dev/media3
[0:37:31.531613195] [9897] INFO Camera camera.cpp:1028 configuring streams: (0) 320x240-BGR888
[0:37:31.531953039] [9989] INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[0:37:35.885334103] [9989] WARN V4L2 v4l2_videodevice.cpp:2007 /dev/video0[27:cap]: Dequeue timer of 2206000.00us has expired!
[0:37:35.885436767] [9989] ERROR RPI raspberrypi.cpp:1984 Unicam has timed out!
[0:37:35.885465581] [9989] ERROR RPI raspberrypi.cpp:1985 Please check that your camera sensor connector is attached securely.
[0:37:35.885493432] [9989] ERROR RPI raspberrypi.cpp:1986 Alternatively, try another cable and/or sensor.
image

Also I checked all cameras connections using libcamera-still -t 0 --camera “camera number(0-3)” and they works more than fine

Can you help me please

@sashalager

This method is also the way we recommend to use in the future.
https://docs.arducam.com/Raspberry-Pi-Camera/Multi-Camera-CamArray/Quick-Start-Guide-for-Multi-Adapter-Board/

Do you have a need to use our previous example?

I am not clear about steps I did. And I still can’t understand how to fix my problem. I setup my Raspberry Pi by following steps in documentation i maintain below, but it still not working for me

@sashalager

I need to see your dmesg information

dmesg | grep imx

and kernel version

uname -a

config.txt

cat /boot/config.txt

If possible can you attach a diagram of your hardware connection.

@Edward
This is dmesg information (i replaced imx with ov if i put imx - nothing happened ):
**dmesg | grep ov **
[ 0.000000] Movable zone start for each node
[ 0.053214] thermal_sys: Registered thermal governor ‘step_wise’
[ 0.053317] cpuidle: using governor menu
[ 1.529253] Key type fscrypt-provisioning registered
[ 3.016708] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd’s process lifecycle management for the service. Please update your service to use a safer KillMode=, such as ‘mixed’ or ‘control-group’. Support for KillMode=none is deprecated and will eventually be removed.
[ 6.970576] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov 1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
[ 8.118680] platform video-mux: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/pca@70/i2c@0/ov5647@36
[ 8.120399] platform video-mux: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/pca@70/i2c@1/ov5647@36
[ 8.193902] platform video-mux: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/pca@70/i2c@2/ov5647@36
[ 8.213839] platform video-mux: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/pca@70/i2c@3/ov5647@36
[ 8.650162] ov5647 23-0036: Consider updating driver ov5647 to match on endpoints
[ 8.668771] ov5647 24-0036: Consider updating driver ov5647 to match on endpoints
[ 8.679887] ov5647 25-0036: Consider updating driver ov5647 to match on endpoints
[ 8.694632] ov5647 26-0036: Consider updating driver ov5647 to match on endpoints

Karnel version:
alex@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.19-v8+ #1637 SMP PREEMPT Tue Mar 14 11:11:47 GMT 2023 aarch64 GNU/Linux

And config.txt
alex@raspberrypi:~ $ cat /boot/config.txt

For more options and information see

Raspberry Pi Documentation - Configuration

Some settings may impact device functionality. See link above for details

uncomment if you get no picture on HDMI for a default “safe” mode

#hdmi_safe=1
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=9

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

uncomment to force a console size. By default it will be display’s size minus

overscan.

#framebuffer_width=1280
#framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1
#hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

Additional overlays and parameters are documented /boot/overlays/README

Enable audio (loads snd_bcm2835)

dtparam=audio=on

Automatically load overlays for detected cameras

start_x=1

Automatically load overlays for detected DSI displays

display_auto_detect=1

Enable DRM VC4 V3D driver

#dtoverlay=vc4-kms-v3d
max_framebuffers=2

Disable compensation for displays with overscan

disable_overscan=1

[cm4]

Enable host mode on the 2711 built-in XHCI USB controller.

This line should be removed if the legacy DWC2 controller is required

(e.g. for USB device mode) or if USB support is not required.

otg_mode=1

[all]

[pi4]
dtoverlay=vc4-fkms-v3d

Run as fast as firmware / board allows

arm_boost=1

[all]
gpu_mem=128

dtoverlay=camera-mux-4port,cam0-ov5647,cam1-ov5647,cam2-ov5647,cam3-ov5647

@Edward
Also Wiringpi has no installation candidate:

sudo apt-get install wiringpi
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Package wiringpi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘wiringpi’ has no installation candidate

Video of Steps for testing cameras output: https://file.io/TE1MhTM8n9qX

@sashalager

I would like some explanation.

There are currently two ways to use this board.
The two methods are not compatible, and if you use one you cannot use the other.

the second way is recommend. This is officially supported by Raspberry Pi with our board.

the first way: RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel at master · ArduCAM/RaspberryPi · GitHub

the second way:
https://docs.arducam.com/Raspberry-Pi-Camera/Multi-Camera-CamArray/Quick-Start-Guide-for-Multi-Adapter-Board/

I see you already use the camera in the second way.

Then you can’t use the first method now, if you need to use the first method, you need to restore the content of the config.txt file, and go through the first method again.

@Edward
If I understood correctly I just need to remove line from the config file?

@sashalager

That’s correct.

@Edward Hello.

I tried to use the first method.

I folowed steps:

  1. sudo apt-get install wiringpi - this command gave me an error, so i used another method to install wiringgpi. I used:
cd /tmp
wget https://github.com/WiringPi/WiringPi/releases/download/2.61-1/wiringpi-2.61-1-armhf.deb
sudo dpkg -i wiringpi-2.61-1-armhf.deb

# Test
sudo gpio -g mode 19 out
sudo gpio -g write 19 1
  1. Second Step was successful:
    sudo apt-get upgrade
    sudo apt install -y python3-kms++ python3-libcamera
    sudo apt install -y python3-pyqt5 python3-prctl libatlas-base-dev ffmpeg
    sudo pip3 install numpy --upgrade
    sudo pip3 install picamera2

  2. I skipped “Add support for Pi4 B”

  3. Test:
    In this step I get nothing only error.
    Terminal output:

sudo ./init_camera.sh
----Test i2c1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – 36 – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: 70 – – – – – – –
----Detecting the /dev/video0 device
video0 detected!
—Start testing each camera
if all of them are normal, after it finished,you will see four image in the current path.
Start testing the camera A
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:14.852713763] [3032] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
ERROR: *** no cameras available ***
Start testing the camera B
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:15.613937494] [3037] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
ERROR: *** no cameras available ***
Start testing the camera C
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:16.292179743] [3042] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
ERROR: *** no cameras available ***
Start testing the camera D
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:08:16.913918084] [3047] INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
ERROR: *** no cameras available ***


**I add dtparam=i2c_vc=on to /boot/config.txt, and reboot **
Also i checked the devive’s address using i2cdetect -y 0 and get:
i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
image

My boot config File:

For more options and information see

Raspberry Pi Documentation - Configuration

Some settings may impact device functionality. See link above for details

uncomment if you get no picture on HDMI for a default “safe” mode

#hdmi_safe=1
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=9

uncomment the following to adjust overscan. Use positive numbers if console

goes off screen, and negative if there is too much border

#overscan_left=16

#overscan_right=16
#overscan_top=16
#overscan_bottom=16

uncomment to force a console size. By default it will be display’s size minus

overscan.

#framebuffer_width=1280
#framebuffer_height=720

uncomment if hdmi display is not detected and composite is being output

#hdmi_force_hotplug=1

uncomment to force a specific HDMI mode (this will force VGA)

#hdmi_group=1
#hdmi_mode=1

uncomment to force a HDMI mode rather than DVI. This can make audio work in

DMT (computer monitor) modes

#hdmi_drive=2

uncomment to increase signal to HDMI, if you have interference, blanking, or

no display

#config_hdmi_boost=4

uncomment for composite PAL

#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

Uncomment some or all of these to enable the optional hardware interfaces

dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

Uncomment this to enable infrared communication.

#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

Additional overlays and parameters are documented /boot/overlays/README

Enable audio (loads snd_bcm2835)

dtparam=audio=on

Automatically load overlays for detected cameras

start_x=1

Automatically load overlays for detected DSI displays

display_auto_detect=1

Enable DRM VC4 V3D driver

#dtoverlay=vc4-kms-v3d
max_framebuffers=2

Disable compensation for displays with overscan

disable_overscan=1

[cm4]

Enable host mode on the 2711 built-in XHCI USB controller.

This line should be removed if the legacy DWC2 controller is required

(e.g. for USB device mode) or if USB support is not required.

otg_mode=1

[all]

[pi4]
dtoverlay=vc4-fkms-v3d

Run as fast as firmware / board allows

arm_boost=1

[all]
gpu_mem=128

#dtoverlay=camera-mux-4port,cam0-ov5647,cam1-ov5647,cam2-ov5647,cam3-ov5647
dtparam=i2c_vc=on

HELP ME PLEASE
I really need this.