Single camera works but Arducam multi-camera adapter shows no cameras available on RPi 3

Hi all, hoping someone can point me in the right direction here. I’ve got an Arducam Multi-Camera Adapter Module V2.2 hooked up to a Raspberry Pi 3, and I can’t get any of the cameras to actually show up.

A single camera works fine when I plug it directly into the Pi without the multi-cam adapter. With the adapter in place, vcgencmd get_camera reports supported=1 detected=1, but when I run init_camera.sh it fails for every camera — A, B, C, and D all come back with ‘ERROR: *** no cameras available ***’.

Here’s what I’m seeing:

i2c1 scan only shows address 70:
70: 70 – – – – – – –

/dev/video0 does get detected though. libcamera version is v0.0.0+3866-0c55e522, and vcgencmd get_camera returns supported=1 detected=1, libcamera interfaces=0.

Not really sure where to go from here. Any ideas?

Thanks for the detailed info. The key clue is that vcgencmd sees a camera (detected=1) but libcamera reports 0 interfaces and ‘no cameras available’. That points to a libcamera/dtoverlay configuration mismatch rather than a hardware detection failure — the legacy stack can see the camera, but libcamera can’t.

Have you gone through the official Quick-Start Guide for the Multi-Adapter Board yet? It covers the overlay setup for the camera-mux-4port adapter:

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

If you’ve already tried that, let me know and we can dig deeper.

I followed that link and tried the steps, but the error is still there. I added the dtoverlay line with cam=imx219 to the boot config file and made sure the cables are in the right direction. Also updated the Pi to the latest version (RPi 3, running OS version 6+ or something like that).

Running libcamera-still -t 0 --camera 0 still gives me the same thing:

libEGL warning: DRI2: failed to authenticate
Made X/EGL preview window
[0:10:05.832189663] [1409] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
ERROR: *** no cameras available ***
[0:10:09.357711297] [1481] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522

and vcgencmd get_camera still shows supported=1 detected=1, libcamera interfaces=0. The i2c scan is still just 70: 70 – – – – – – – and /dev/video0 is detected.

Honestly stuck at this point — this thing has never actually worked for me.

Let’s get a full diagnostic report so I can see what the system is actually loading. Reboot the Pi first, then run these commands:

wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report

That will produce an arducam-bug-report.txt in the current directory. Could you send that file over? You can attach it in a private message.

Done — I’ve sent the arducam-bug-report.txt over through private message. I also grabbed a couple of photos of the whole setup so you can see how everything is wired, and sent those along too.

Thanks, got the report and the photos. Before we go further into the overlay config, can you double-check the flat ribbon cable between the Pi and the multi-cam adapter? If it’s been forced in at an angle or not seated straight, it can cause exactly this kind of flaky behavior where the Pi sees something but libcamera can’t enumerate the cameras.

So I pulled the cable out to reseat it, and it actually looks damaged — I think I pushed it in way too hard. That’s probably not helping anything. On top of that, I’m now seeing what looks like a driver issue. Could you take another look at the config side of things?

Let’s fix the config first and see where that leaves us. Looking at your setup, you’ve got the overlay configured for four cameras, but you only have two cameras connected. The overlay has to match the number of cameras actually attached — otherwise it tries to initialize cam2 and cam3 and fails across the board.

Edit /boot/config.txt and change this:

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

to:

dtoverlay=camera-mux-4port, cam0-imx219, cam1-imx219

Then make sure your two cameras are connected to the camera A port and camera B port on the adapter (not C and D), and reboot the Pi for it to take effect.

Quick summary of where we are: the damaged ribbon cable between the Pi and the adapter is a physical problem you’ll need to sort out, but the main config issue is that the overlay was enabling cam0–cam3 while only two cameras were connected. With the overlay trimmed to cam0 and cam1 and both cameras on ports A and B, init_camera.sh should only try to initialize the cameras that are actually there. Give that a try and let me know what you get.