Arducam 64MP - again.... Error -5 / Chip id does not match

Alllllright, here`s my journey getting 64MP Camera running. (spoiler: did not work yet)

HW Setup: I have two RPI5 and two 64MP Quad-Boards with Cameras.
I have also a single, not Multiplex, 64MP Hawkeye.

After messing around with the Multiplexer, reading tons of forums and trying things I am trying a structured step-by-step aproach now. So, starting with the RPI5, the 64MP Hawkeye (single) on cam1 and a fresh installation:

Installed fresh RaspiOS via rpi-imager:

  • bookworm lite
  • Release date: March 15th 2024
  • System: 64-bit
  • Kernel version: 6.6
  • Debian version: 12 (bookworm)

Checked /boot/overlays/ folder, arducam-64mp.dtbo is already contained.

Added /boot/firmware/config.txt


the camera_autodetect is still 1 and everything else is unchanged.

Restarting with camera attached.

dmesg | grep ardu

[ 4.900340] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/arducam_64mp@1a

[ 4.959288] arducam_64mp 4-001a: chip id mismatch: 4136!=7388

[ 4.987769] arducam_64mp: probe of 4-001a failed with error -5

Here we are again, same situation as in all other installations the last days. My understanding:

  • Cam is attached and recognized

  • the driver seems not to accedd the cam due to a mismatch in some „chip id“.

next step:

Set autodetect to 0 in config.txt

→ no change

added cma=512 to config.txt & reboot

→ no change, still chip id mismatch

Physical shut down to see, if hot reboot and cold start change anything regarding firmware…

→ no change

So, possibel branch of actions:

  • I could install the libcam and apps → did not work last time and does not seem to be the issue here

  • I could update rpi os via apt-get update / upgrade → did not work last time and changed to a kernel that was not recognized by the arducam script, so I ruled that out for now (current kernel is 6.6.20+rpt-rpi-2712)

  • I could try to install new driver… decided to do this step:

wget & changemod +x, then

sudo ./ -p 64mp_pi_hawk_eye_kernel_driver

Got output:

is kernel driver

Installing ARDUCAM_64MP…

Restart with cold restart (power off)
And here we are - still in the loop:

[ 4.715512] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/arducam_64mp@1a

[ 4.716532] arducam_64mp 4-001a: chip id mismatch: 4136!=7388

[ 4.778004] arducam_64mp: probe of 4-001a failed with error -5

now, just out of ideas, I completed the installation

sudo ./ -p libcamera_dev

Still where I have been before:

[ 4.951712] arducam_64mp 4-001a: chip id mismatch: 4136!=7388

[ 4.965115] rp1-cfe 1f00128000.csi: found subdevice /axi/pcie@120000/rp1/i2c@80000/arducam_64mp@1a

[ 4.994466] arducam_64mp: probe of 4-001a failed with error -5

So, I am running out of ideas. It seems there is an issue with the delivered Hawkeye Hardware vs. the Drivers.

I saw similar topics on the forums around, sometimes it seems to have worked after a while, which I do not understand, as the cam seems to be detected, a chip id can be read and it seems not to match the driver setup of Arducam?

Any more Ideas???

Took me 5 days, here we are: I am dump.

So, in case you ran into the same issue:

The PI5 has a small size connector. So you need a different cable.
BUT: There are two one-to-one versions!

one-to-one SAME side and one-to-one Mirror.

And while it look same, the mirror without twisting the cable TURNS AROUND the pins… and that is what you need!

So, as soon as I used the mirror cable it worked!

I spend 5 days to find that out, hopefully it helps someone out there…

Hi @camman
The cable which is one-to-one SAME side is not for the Pi 5 and 64MP camera modules.

A new native word learned :cowboy_hat_face: It is one of the frequent problems that many customers might use the cable with the same side to connect his/her Pi 5/zero. I did not have the drill to express the concept of “mirror cable”. I told them they should not use the peer cable. Sometimes they would be confused about what I was saying.
Anyway, thank you for your time and feedback :slight_smile:

just tell them that the “metal on in the port has to touch the metal side on the cable” otherwise there is open circuit

1 Like

Hi Henri,
Cool. Got it :smiley: