Hi all, I’m hoping someone can point me in the right direction. I’ve got a Raspberry Pi 5 running Raspberry Pi OS Bookworm with two Arducam B0270 cameras hooked up. I followed the quick start guide and rebooted, but libcamera just returns ‘no cameras available’ — neither camera shows up at all.
Thanks for the details. Can you run dmesg | grep imx and paste the output here? That will show us whether the kernel is even trying to load the sensor driver.
Sure, here’s what I get:
[ 0.536713] platform 1f00128000.csi: Fixed dependency cycle(s) with /axi/pcie@120000/rp1/i2c@80000/imx477@1a
[ 3.286266] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/imx477@1a
[ 3.629263] imx477 4-001a: failed to read chip id 477, with error -5
[ 3.629530] imx477: probe of 4-001a failed with error -5
I noticed the line about ‘failed to read chip id 477’ but I’m not sure what it means.
That failed chip id read is actually the important bit, but let’s not jump ahead. Could you also post the contents of /boot/firmware/config.txt? The camera-related lines matter here.
Here’s my config.txt:
For more options and information see
http://rptl.io/configtxt
Some settings may impact device functionality. See link above for details
Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
Enable audio (loads snd_bcm2835)
dtparam=audio=on
Additional overlays and parameters are documented
/boot/firmware/overlays/README
Automatically load overlays for detected cameras
camera_auto_detect=0
Automatically load overlays for detected DSI displays
display_auto_detect=1
Automatically load initramfs files, if found
auto_initramfs=1
Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2
Don’t have the firmware create an initial video= setting in cmdline.txt.
Use the kernel’s default instead.
disable_fw_kms_setup=1
Run in 64-bit mode
arm_64bit=1
Disable compensation for displays with overscan
disable_overscan=1
Run as fast as firmware / board allows
arm_boost=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
[cm5]
dtoverlay=dwc2,dr_mode=host
[all]
dtoverlay=imx477
Thanks. So config.txt has camera_auto_detect=0 and dtoverlay=imx477 at the bottom. The overlay is being loaded — dmesg shows the kernel found the subdevice at /axi/pcie@120000/rp1/i2c@80000/imx477@1a — but then it fails with:
imx477 4-001a: failed to read chip id 477, with error -5
That error -5 is an I2C read failure, meaning the Pi can’t actually talk to the sensor over I2C. That typically points to a wiring/connection issue or a wrong overlay configuration. Could you post a couple of photos of the connections, one at the Pi end and one at the camera end?
I’ll grab some photos. One question though — I’ve got both cameras on the same cabling setup shown in the guide. Would the same error -5 explain both cameras missing, or would they fail separately?
If the driver can’t read the chip ID, the sensor never gets registered, so yes, that single failure would take out both. Before the photos, do a clean reboot and re-check dmesg to confirm the failure is consistent.
Rebooted and re-ran it — same errors, same lines. Photos attached.
Thanks, got the photos. The chip ID read failure is still the thing we need to chase down. In the meantime, let’s pull a full bug report so we can see the whole system state. Run these three commands:
wget -O arducam-camera-bug-report https://github.com/Dion4cen/arducam-camera-bug-report/releases/download/Tool/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report
That will create arducam-bug-report.txt in the current directory. Please send that file to me in a private message rather than pasting it here, since it can include system-specific details.
Done — the tool produced arducam-bug-report.txt and I’ve sent it over in a PM.
Got it. To sum up where we are: the cameras aren’t detected because the imx477 driver can’t read the sensor chip ID over I2C (error -5). We haven’t pinned down the root cause yet — it could be the wiring or the overlay setup. I’ll go through the bug report and the photos and update here once I’ve got something.