Hi all, I picked up an Arducam 64MP Autofocus camera a while back and I have honestly never got it to work. On Raspberry Pi OS I keep getting this when it tries to probe:
failed to read chip id 4136, with error -5
probe of 10-001a failed with error -5
It just refuses to come up no matter what I do. I’d really like a solution to actually get it running. Has anyone seen this exact error before?
Thanks for the clear error output. That chip id failure is the key clue — it means the host can’t talk to the sensor at all, so we need to figure out whether it’s wiring, port assignment, or the module itself.
Before going further, can you reboot the Pi and run our bug report tool? It collects the relevant config and kernel info:
Ran the tool, it produced the arducam-bug-report.txt file. Here’s the relevant info:
Product series: Raspberry Pi Cameras
Model: 64MP Autofocus
Platform: Raspberry Pi OS
Instruction I was following: the “how to use arducam 64mp” FAQ on forum.arducam.com
Has the product ever worked properly?: No — I never got it to work.
Problem: failed to read chip id 4136, with error -5, probe of 10-001a failed with error -5
Troubleshooting already done: used a Pi Zero instead of a Pi 4 with another cable, and checked the cable connection by hooking up a 5MP camera, which worked fine.
Forgot to mention in the last post — I’ve tried it across two different hosts now (Pi 4 and a Pi Zero) with two different cables, and the 5MP camera works perfectly on the exact same cable/port. So I don’t think it’s the cable or the Pi. It seems specific to the 64MP module. Anything else I should check before assuming the camera is bad?
That’s really useful. The 5MP working on the same cable rules out the cable and the CSI connector as the cause, and the fact that it fails on two different hosts points away from a single Pi being faulty. The -5 on the chip id read means the driver never sees valid I2C traffic from the sensor.
Two things I need to confirm:
Which board/port are you on now? A plain Pi 4, or a CM4-based board? The CM4 has more than one MIPI-CSI port.
Can you paste the contents of /boot/config.txt (or the camera-related lines)? I want to see whether the override for the 64MP is actually loaded and which port it’s targeting.
Just checked — the board is a Raspberry Pi CM4 board. I didn’t think the board mattered much, so I was mostly testing on the Pi 4 and Pi Zero earlier. Someone elsewhere mentioned the CM4 has two MIPI-CSI ports internally and that autodetection doesn’t always work for picking the right one. Could that be what’s biting me?
Yes, that’s very likely the whole issue. On the CM4 the port detection via camera_auto_detect is unreliable, so the driver can end up probing the wrong CSI port — which produces exactly the “failed to read chip id” behaviour you’re seeing, because there is nothing answering on that port.
Let’s stop relying on autodetect and hard-code the correct port. Edit /boot/config.txt:
Note the cam0/cam1 suffix targets the port. If your camera is physically on CSI port 1, you’d use cam1. Try cam0 first, and if it still fails, switch to cam1. Save, reboot, then check again.
(assuming the camera is on CSI port 1, which is where I have it). Rebooted and the 64MP camera comes up and works great now. So the root cause really was the CM4’s two MIPI-CSI ports and autodetection picking the wrong one — the right port had to be hard-coded. Thanks!
Great, glad it’s working now. Quick recap for anyone finding this thread:
Symptom: failed to read chip id 4136, with error -5 and probe of 10-001a failed with error -5 — the sensor is never detected.
The 5MP camera working on the same cable/port showed the cable and host were fine, pointing at the 64MP module’s port assignment rather than hardware.
Root cause on the CM4: there are two MIPI-CSI ports and camera_auto_detect doesn’t reliably pick the correct one, so the driver probes the wrong port. The correct port has to be set manually.
Fix: disable autodetect and hard-code the port in /boot/config.txt:
Use cam0 or cam1 depending on which CSI port the camera is physically connected to. Reboot after saving. If you’re still seeing the chip id error after this, attach your arducam-bug-report.txt output and we’ll dig in further.