Arducam imx519 no cameras detected on Raspberry Pi Bookworm, imx519 probe failed error -5

Hi everyone. I’m running a Raspberry Pi 4B with Bookworm and just finished the Arducam imx519 starter guide - the camera is brand new. Everything installed with no errors, but libcamera reports no cameras detected and dmesg shows:

[ 8.698993] imx519 0-001a: failed to read chip id 519, with error -5
[ 8.711077] imx519: probe of 0-001a failed with error -5

Does this mean the camera is dead? I was on Bullseye before and had libcamera update/install errors, so I switched to Bookworm. I’ve been careful with antistatic handling, and I was about to test the camera on a Pi Zero to rule out the sensor itself.

That error means the kernel can’t read the chip ID from the imx519 over I2C (error -5), so the Pi isn’t communicating with the sensor at all. It doesn’t automatically mean the camera is dead - usually it’s a connection or config issue.

Can you post photos of the hardware connection at both ends - the Raspberry Pi side and the camera side? I’d like to check the ribbon orientation and seating. Root cause isn’t determined yet, so we’ll work through it.

Thanks. I’ll take those photos of both ends of the cable now. Is there anything else I can run in the meantime to help narrow this down?

Yes - please generate the Arducam camera bug report so we can see the full picture. Steps:

  1. Reboot the device.
  2. Download the tool:
    wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
  3. Make it executable:
    chmod +x ./arducam-camera-bug-report
  4. Run it:
    ./arducam-camera-bug-report

That writes an arducam-bug-report.txt file in the current directory. Attach that file to your next reply - it collects the diagnostic info needed to analyze the detection failure.

Quick update: I gave up on Bookworm and reverted to Bullseye. After updating the OS and libcamera, the camera is now detected and producing images, so the sensor is fine. But autofocus isn’t working - the image is pretty fuzzy with libcamera-still --autofocus-mode auto -o test.jpg.

One confusing thing: vcgencmd get_camera still says no cameras detected. I found out that command only works for the legacy stack. libcamera-hello --list-cameras gives this:

Available cameras

0 : imx519 [4656x3496 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx519@1a)
Modes: ‘SRGGB10_CSI2P’ : 1280x720 [80.01 fps - (1048, 1042)/2560x1440 crop]
1920x1080 [60.05 fps - (408, 674)/3840x2160 crop]
2328x1748 [30.00 fps - (0, 0)/4656x3496 crop]
3840x2160 [18.00 fps - (408, 672)/3840x2160 crop]
4656x3496 [9.00 fps - (0, 0)/4656x3496 crop]

I also saw a post from Sept 2023 saying the imx519 driver wasn’t working on Bookworm. Does the current imx519 driver even enable autofocus?

The imx519 does work on Bookworm, so the earlier detection failure was most likely a missed step during the Bookworm setup rather than a driver incompatibility - but without the config.txt and libcamera version from that attempt, it’s hard to say which step. Since Bullseye is working for you now, let’s focus there.

On the autofocus: if the focus motor isn’t initializing, you’ll normally see errors like:

[0:07:50.468681684] [1279] ERROR V4L2 v4l2_device.cpp:93 ‘ak7375 10-000c’: Failed to open V4L2 device ‘/dev/v4l-subdev1’: Invalid argument
[0:07:50.468774755] [1279] ERROR CameraSensor camera_sensor.cpp:527 ‘imx519 10-001a’: Lens initialisation failed, lens disabled

Can you run libcamera-still --autofocus-mode auto -o test.jpg again and paste the full terminal output? That will show whether the lens controller (ak7375) is being detected. For a basic still, also try libcamera-still -t 8000 -o test.jpg. And stick with the libcamera tools for detection - vcgencmd get_camera is legacy-stack only, so it’ll always report no cameras here; your libcamera-hello --list-cameras output already confirms the sensor is detected.