Here’s the full diagnostic trail:
Software configuration
- Confirmed
camera_auto_detect=1was set but auto-detect never found the camera - Tried
camera_auto_detect=0+dtoverlay=imx708(correct driver for the IMX708 sensor) - Tried
dtoverlay=arducam-pivariety(Arducam’s custom driver for their non-native cameras) - Installed Arducam’s Pivariety driver packages
- Reduced I2C bus speed to 50kHz (
dtparam=i2c_vc_baudrate=50000) to account for signal quality - Fixed a conflicting config (auto_detect=1 and manual overlay both active at once)
- Fixed a typo (
12c_vc_baudrate→i2c_vc_baudrate) that prevented the speed reduction from ever applying
Physical
- Identified the original ribbon had scraped contacts from inserting before lifting the latch
- Replaced with the spare ribbon that came with the camera
- Confirmed contact orientation is correct (silver contacts face HDMI/USB-C side on Pi end)
- Confirmed the camera is in CAM1 (the correct port, next to the audio jack)
Diagnostics
- Confirmed the camera module IS electrically present — I2C bus scan found it at address
0x1a(IMX708 sensor) and0x0c(autofocus controller), both correct - Every attempt to read a register from the sensor returns error -5 (NACK) from the kernel driver
- Cross-referenced with an identical case on Arducam’s support forum — their conclusion was hardware defect when all software and physical checks pass
Conclusion: Software and physical setup are correct. The sensor responds to I2C address probes but NACKs all register reads, which points to the camera module being defective.
Not sure what else to try at this point.