IMX519 autofocus camera not detected on Raspberry Pi Bullseye

Hi everyone. I’m having trouble getting an Arducam IMX519 autofocus camera module (16MP) working on my Raspberry Pi. The camera just isn’t detected or initialized at all. I’ve gone through the install steps but no luck. Has anyone run into this before?

Sorry to hear that. To help narrow this down, could you share a few details? Which OS are you running, and how did you install the camera drivers? Also, if you can grab the output of dmesg | grep -E 'imx519|ak7375' (or the relevant lines), that would be really helpful.

Sure, here’s the environment info:

OS: Raspbian GNU/Linux 11 (bullseye)

PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye

I installed the driver with:

install_pivariety_pkgs.sh -p imx519_kernel_driver_low_speed

And here is the dmesg output after boot:

[ 10.630514] ak7375: loading out-of-tree module taints kernel.
[ 10.717122] ak7375 10-000c: ak7375_active I2C failure: -121
[ 10.790962] imx519 10-001a: failed to read chip id 519, with error -5
[ 10.791296] ak7375 10-000c: ak7375_standby I2C failure: -121
[ 10.792606] ak7375 10-000c: ak7375_standby I2C failure: -121
[ 10.798046] imx519: probe of 10-001a failed with error -5

Thanks, that’s very useful. Looking at those errors:

ak7375 10-000c: ak7375_active I2C failure: -121
imx519 10-001a: failed to read chip id 519, with error -5

The -121 is an I2C remote I/O error, and the imx519 failing to read its chip id with -5 (EIO) means the sensor isn’t responding over I2C at all. So my first suspicion is the physical connection between the camera module and the Pi. Could you send some pictures of how the ribbon cable is connected on both ends so we can check it?

Here are the pictures of the hardware connection, both at the camera end and the Pi end.

Thanks for the pictures. From what I can see, the connection looks correct - the ribbon is seated properly and the orientation looks fine. So I think we can rule out a basic connection mistake. The next most likely culprit given these I2C failures is the ribbon cable itself. Do you happen to have another cable you could test with?

I don’t have another cable on hand unfortunately. I went ahead and ordered a replacement (a longer one, 60cm, since I needed a bit more length anyway). It’ll probably take about a week to arrive. I’ll post back once I’ve tested with it.

Sounds good. A cable swap is the right next diagnostic step to isolate whether the cable is faulty. Once the new cable arrives, please test again and share the results, including the dmesg output. I’ll keep an eye on this thread.

Okay, the new 60cm cable arrived and I tested it. Unfortunately the result is the same - camera still not detected. Here’s the new dmesg output:

[ 10.795558] imx519: loading out-of-tree module taints kernel.
[ 10.852217] imx519 10-001a: failed to read chip id 519, with error -5
[ 10.853918] imx519: probe of 10-001a failed with error -5

Thanks for the update. So with the new cable we can rule the cable out as the cause - the same failed to read chip id 519, with error -5 persists. The sensor still isn’t responding over I2C during the probe, and the probe still fails. To summarize where we are:

  • Physical connection was verified and looked correct.
  • Cable substitution did not resolve it.
  • The imx519 is still failing to read its chip id with error -5.

At this point the root cause is still not confirmed. The issue looks to be further upstream - quite possibly the module itself, but it remains unresolved for now. If you can test the module on a different Pi or setup at some point, that would help isolate further, but for now the camera is still not communicating properly.