Hi all, I’ve got an Arducam IMX708 HDR 120 degree lens for Raspberry Pi (UC A65 rev B) that suddenly stopped being detected. It was working fine up until around 2023-12-26, then it just quit. There’s no response at all on the I2C bus. I’ve already tried forcing the imx708 dt-overlay and force loading the kernel module, but the camera still doesn’t show up. Anyone run into this?
Can you give a bit more detail about the setup? Which Pi model and OS are you on, and have you tested the camera on another board, or tested a different camera on this Pi to rule out the cable/carrier?
Original board is a Raspberry Pi 3b+. I’ve also tested it on a Pi 3b and a Waveshare CM4-IO-A carrier with a CM4. Both Pis detect OV5647 and IMX219 cameras without issue, so the Pis themselves seem fine. The IMX708 was being used on the Pi 3b.
Since you mentioned forcing the overlay, could you double-check /boot/config.txt? I’ve seen dt_overlay=imx708 (with the underscore) used by mistake. It needs to be dtoverlay=imx708. Fix that, reboot, then try a quick libcamera preview and tell me what output you get.
I corrected it to dtoverlay=imx708 and rebooted, then tried libcamera preview. Still nothing — the Pi doesn’t detect the IMX708 at all.
Let’s pull some proper logs. Please run the Arducam bug report tool and send me the file it creates. Commands are:
wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report
It’ll produce arducam-bug-report.txt. PM that over to me.
I ran the tool and sent you the arducam-bug-report.txt privately. I also tried the camera on a CM4 with the Waveshare CM4-IO carrier and swapped in different 22-to-15 pin cables — still no detection. I recorded a short video of how the camera is wired and sent that privately as well.
Found it. Looking at your config, dtoverlay=imx708 is sitting under the [pi4] section. But this is running on a Pi 3, so that section never gets applied. The overlay isn’t loaded at all, which is why the IMX708 doesn’t answer on I2C.
That would explain why it doesn’t show up even when I force load the module. What’s the right way to fix the config?
Move dtoverlay=imx708 out of [pi4] and put it under [all]. While you’re at it, also make sure Glamor and the GL driver are set up:
- Move dtoverlay=imx708 under [all] in config.txt.
- Run sudo raspi-config.
- Advanced Options → enable Glamor graphic acceleration.
- Advanced Options → GL Driver → GL (Full KMS).
- Reboot.
Then test with libcamera again.
That was it. After moving dtoverlay=imx708 under [all] and setting Glamor + GL (Full KMS), the camera is detected and libcamera preview works. Thanks for the help!
Glad it’s sorted. Just to sum up for anyone else hitting this on a Pi 3: dtoverlay=imx708 must be under [all] or the correct Pi 3 section — if it’s only under [pi4], the overlay never loads and the camera won’t respond on I2C. And make sure it’s dtoverlay=imx708, not dt_overlay=imx708.