Hi all, I’m stuck with an Arducam stereo OV9281 kit on a Raspberry Pi 4 running Bookworm. It’s the Camarray HAT setup and the camera simply doesn’t come up. I’ve already posted in the Bookworm Camarray OV9281 thread and looked at the similar ‘no camera on Camarray HAT OV9281’ issue, but neither got me anywhere. Anyone seen this combo actually working on Bookworm?
Sorry you’re hitting this. Let’s pull some diagnostics. Please do the following:
- Reboot the Pi.
- Download the bug report tool:
wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report - Make it executable:
chmod +x ./arducam-camera-bug-report - Run it:
./arducam-camera-bug-report
This creates arducam-bug-report.txt in the current directory - please attach that file. Also, could you post a photo of the hardware connections (HAT and flex cables) so we can check the wiring?
Quick update while I gather that report. I’m actually not 100% sure whether my sensor is OV9281 or OV9282 - the box says OV9281, but the ov9281 overlay complains about a wrong camera id. The board is a Camarray Rev.C. Configs I’ve tried so far:
camera_auto_detect=0
dtoverlay=ov9281
dtoverlay=arducam-pivariety
→ dmesg reports the camera id is wrong.
camera_auto_detect=0
dtoverlay=ov9282
dtoverlay=arducam-pivariety
→ boots without errors, but libcamera floods with i2c timeouts whenever it tries to access the camera.
Starting to think this is a Rev.C board firmware problem.
Let’s simplify the overlay setup first. Remove dtoverlay=ov9282 (and dtoverlay=ov9281 if it’s still there) from the config file, and keep only dtoverlay=arducam-pivariety. Reboot, then re-run the bug report tool:
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
Please attach the arducam-bug-report.txt it generates.
Done - removed the ov9282 overlay so only dtoverlay=arducam-pivariety remains, but no difference. The bug report script actually hangs right at the start when it calls libcamera, because of the i2c bus timeout. Relevant dmesg lines:
arducam-pivariety 10-000c: pivariety_read: Reading register 0x107 failed
arducam-pivariety 10-000c: firmware version: 0x0003
arducam-pivariety 10-000c: Consider updating driver arducam-pivariety to match on endpoints
I know the i2c bus itself works because a Raspberry Sense HAT runs fine on it. Is there any way to upgrade the firmware on this board? It really feels like the module is just old/outdated.
Can you also send the output of this command?
dpkg -l | grep libcamera
And just to confirm - was libcamera installed following the Arducam docs (the Libcamera User Guide, Getting Started section)?
Here’s the output on Bookworm arm64:
dpkg -l | grep libcamera
libcamera-apps 1.4.3-1 (all, transitional package)
libcamera-dev:arm64 0.2.0+rpt20240218-1
libcamera-ipa:arm64 0.2.0+rpt20240218-1
libcamera-tools 0.2.0+rpt20240215-1
libcamera0.1:arm64 0.1.0+rpt20231122-1
libcamera0.2:arm64 0.2.0+rpt20240218-1
pipewire-libcamera:arm64 0.3.65-3+rpt5+deb12u1
python3-libcamera:arm64 0.2.0+rpt20240215-1
I installed everything per the Multi-Camera CamArray quick start doc.
Separately, I hit a couple of issues with the install script. install_pivariety_pkgs.sh fails outright on the latest Bullseye. On the latest Bookworm it runs, but it still writes the overlay to /boot/config.txt even though current Raspberry Pi OS uses /boot/firmware/config.txt. I had to manually edit /boot/firmware/config.txt so the overlay actually loaded at boot.
I looked at the firmware version your module reports: 0x0003. That revision is outdated and no longer supported, which is why the driver can’t talk to it properly on the current stack. Unfortunately there’s no supported firmware update for that version. The recommended path is to use a current hardware module - these are the current bundles:
Thanks for confirming the firmware version. I’d really rather not replace the hardware though - is there truly no firmware upgrade path for the 0x0003 revision? If there’s any flash/update procedure at all, even an unofficial one, I’d like to try it before buying another kit.
To summarize where this landed: the 0x0003 firmware on your module is outdated and unsupported, and there’s no firmware upgrade path we can provide for it. That’s the root cause of the i2c read failures and timeouts you’re seeing with the pivariety driver. The workaround at this point is to move to a current hardware revision (the bundles linked above). If a firmware update option ever becomes available for that revision, we’ll post back here.