Arducam B0264 stereo camera not producing image on Raspberry Pi 3B+, hardware version mismatch

Hi, I’m stuck getting an Arducam 2MP*2 stereo camera (B0264, dual OV2311) to produce any image on a Raspberry Pi 3B+. Camera is connected, but no picture at all.

Setup so far: Pi 3B+, Raspberry Pi OS. Originally on kernel 5.15.32 — the driver install failed with a note saying the kernel version was different than expected. I updated Raspberry Pi OS to kernel 5.15.56 and the driver install failed in exactly the same way. I then used the newer driver install procedure that gets around the kernel version disparity — that install worked, but it reverts the kernel back to 5.4.79. After a reboot, /dev/video0 is present.

But still no image:

  • arducamstill with any arguments prints:
    hardware version a020d3
    no match to hardware version !

  • libcamera-still -t 5000 -o test.jpg prints a few lines then just hangs:
    libEGL warning: DRI2: failed to authenticate
    Made X/EGL preview window
    [0:01:27.125976304] [1121] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3896-6019b245

  • arducam-camera-bug-report runs, outputs one line of text, then hangs. Ctrl+C to exit produces error messages. arducam-bug-report.txt gets created but is 0 bytes long.

I also tried a fresh install of the latest Raspberry Pi OS, installed the driver, installed libcamera_dev and libcamera_apps, and rebooted — same behaviour. I attached the error output I captured: error_msg.txt. Any idea what’s going on?

Hi, thanks for the very detailed write-up — that’s a lot of useful info to work with.

First, can you run the bug report tool so we can see the full environment? Steps:

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 should drop an arducam-bug-report.txt in the current directory — please send that as an attachment.

For reference, these are the driver and libcamera docs we usually point people to:

Tried the bug report tool — that’s actually one of the things that’s broken. It prints a single line of text and then just sits there. Ctrl+C to get out throws error messages, and the arducam-bug-report.txt it creates is 0 bytes. So I can’t send that one. Anything else I can capture instead?

Thanks for confirming. Two notes first:

The ‘hardware version a020d3 / no match to hardware version !’ from arducamstill is expected in your situation — we no longer recommend using arducamstill with the older kernel versions. Keep in mind the driver install rolling you back to 5.4.79 is a separate issue from the camera not streaming.

Can you run the following and copy the terminal results?

cat /proc/cpuinfo
cat /etc/os-release
cat /boot/config.txt
ls /dev/video*
dpkg -l | grep libcamera
libcamera-still -t 3000 -n --width 1920 --height 1080
dmesg

Note the -n on libcamera-still — that disables the preview window, which should avoid the libEGL / DRI2 preview authentication problem you were hitting before.

Also, if you want to drive the camera from code, the C/Python libcamera interface is documented here: How to use code to access libcamera(C++/Python)

OK, I ran everything. A couple of things worth noting:

  • The first 2 times I ran libcamera-still -t 3000 -n --width 1920 --height 1080 it hung again and I had to recover with alt + sysrq + I.
  • The 3rd time it did NOT hang, and it gave terminal output.
  • I also ran dmesg and captured the terminal output.

I concatenated the output from all of these:

cat /proc/cpuinfo
cat /etc/os-release
cat /boot/config.txt
ls /dev/video*
dpkg -l | grep libcamera
libcamera-still -t 3000 -n --width 1920 --height 1080
dmesg

into the attached file term_out.txt. I’ll go dig into the C-language interface link you posted and see where that gets me.

Thanks, got term_out.txt.

Where this stands: /dev/video0 is enumerating and the driver does install, but libcamera isn’t streaming from the sensor — the log stops right after the camera_manager INFO line, which is the point where it would normally enumerate and open the camera. The fact that the still capture hangs 2 out of 3 times and only occasionally returns points at the capture/preview path rather than a plain installation problem.

Two things to keep in mind while we dig in:

  • Use libcamera-still -n with explicit --width/--height so you avoid the libEGL DRI2 preview auth issue.
  • Don’t use arducamstill here — with the 5.4.79 kernel left behind by the driver install, that ‘no match to hardware version’ output is expected.

I’m going through your term_out.txt now (cpuinfo, os-release, config.txt, video devices, libcamera package versions, the still capture output, and dmesg) to work out why the camera isn’t being detected/streamed. Root cause isn’t confirmed yet — once I’ve gone through the package versions and dmesg I’ll come back with the next steps.