ArduCam 64MP / RPi5 / Bookworm: libcamera does no longer detect it, while the device is found during startup

  1. Where did you get the camera module(s)?

Internet / Botland

  1. Model number of the product(s)?

ArduCam B0399

  1. What hardware/platform were you working on?

Raspberry Pi 5 / Bookworm / 64bit

  1. Instructions you have followed. (link/manual/etc.)

https://docs.arducam.com/Raspberry-Pi-Camera/Native-camera/64MP-Hawkeye/

  1. Problems you were having?

On a fresh bookworm installation, the camera typically works (the reason why I have already two of them). But after some time (and OS updates and package installs), the camera stops working: It is no longer detected by libcamera.

Output of libcamera-still:

[0:10:01.093136945] [3360]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+84-79f583c3-dirty (2025-05-06T02:52:19BST)
ERROR: *** no cameras available ***

In Python, using picamera2:

2025-05-24 10:53:00,315 - hardware.camera - ERROR - Failed to initialize camera: list index out of range
Traceback (most recent call last):
  File "/home/USER/fooo/hardware/camera.py", line 41, in _initialize_camera
    self.camera = Picamera2()
                  ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 281, in __init__
    camera_num = self.global_camera_info()[camera_num]['Num']
  1. The dmesg log from your hardware?
[    0.057213] /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/csi@128000
[    0.057248] /axi/pcie@1000120000/rp1/csi@128000: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a
[    0.057436] /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/csi@128000
[    0.057474] /axi/pcie@1000120000/rp1/csi@128000: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a
[    0.550185] /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/csi@128000
[    0.565257] /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/csi@128000
[    0.565274] /axi/pcie@1000120000/rp1/csi@128000: Fixed dependency cycle(s) with /axi/pcie@1000120000/rp1/i2c@80000/arducam_64mp@1a
[    2.497047] arducam_64mp 11-001a: Device found Arducam 64MP.
  1. Troubleshooting attempts you’ve made?
sudo apt purge 'libcamera*'
./install_pivariety_pkgs.sh -p libcamera_dev
./install_pivariety_pkgs.sh -p libcamera_apps

But runs with odd errors such as

N: Download is performed unsandboxed as root as file '/home/USER/libcamera-dev_0.5.0+rpt20250506-4_arm64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

According to Product Q&A: Your Questions Answered - #21 by Dion, this can be ignored.

Here is the output of apt list 'libcamera*' | grep installed:

libcamera-apps/stable,stable,now 1.7.0-1 all [installed]
libcamera-dev/now 0.5.0+rpt20250506-4 arm64 [installed,local]
libcamera-ipa/now 0.5.0+rpt20250506-4 arm64 [installed,local]
libcamera0.5/now 0.5.0+rpt20250506-4 arm64 [installed,local]

For some reason, libcamera-apps is not the version from local.

  1. What help do you need?

I need a reliably way to get the camera working, also in the presence of other package updates. That is, get it running again without having to starting from a freshly installed RaspiOS.

Having this problem makes me a bit sad. I have seen reports on this or similar issues on the internet too, without useful solutions. People on Amazon give bad ratings based on this. So it would be really good to have a reliable and sustainable fix for this.

Couldn’t you add a bit more regression tests to cover such scenarios reliably? Especially for widely used platforms as I am using (current raspi, current raspi os).

Also, I was a bit confused about the difference between the general Pivariety driver arducam-pivariety and the 64MP driver arducam-64MP. Why the differentiation?

Also the statement (on the Git repo)

Note: Since 5.15.38, the arducam-pivariety driver has been merged into the Raspberry Pi kernel and the name of the device tree is changed to arducam-pivariety, so dtoverlay=arducam-pivariety is required to set the overlay

confuses me a bit, but sounds reasonable since the repo was not updated for a long time.

EDIT: Now, I have also tried it with a IMX519, with the same issue :frowning: :sob:

So the problem is solved now. I have both a display and the camera connected to the Raspberry. There might have been some collision on the DSI port. I have swapped the cables and now it is working (again).