The I2C write errors in your dmesg output indicate communication issues between the SoM and the IMX678 camera module. Let’s troubleshoot this systematically.
Hardware Verification
First, verify your hardware connections match the documentation. The Dahlia Carrier Board supports the MIPI CSI-2 interface and connects to the camera kits out-of-the-box, hardware-wise(1).
I2C Communication Testing
The error messages show I2C register write failures with error code -6 (typically ENXIO - No such device or address). Let’s check the I2C communication:
-
Identify the I2C bus: According to the Verdin iMX8M Plus datasheet, the camera I2C interface uses I2C3(2). On your system, this should appear as a symbolic link.
-
Test I2C communication: Run a container with I2C tools to scan for the camera:
# docker run -it --rm -v /dev:/dev --device-cgroup-rule='c 89:* rmw' torizon/debian:${CT_TAG_DEBIAN}
(3)
- Scan for the camera: Inside the container, scan the I2C bus:
## ls -l /dev | grep verdin-i2c
(3)
Look for the camera I2C interface and scan it:
## i2cdetect -y <bus_number>
(3)
The IMX678 camera should appear at address 0x1a (as indicated in your dmesg: imx678 2-001a).
Common Issues and Solutions
Based on similar CSI interface issues documented in the community, here are potential causes:
Power Supply Issues
Ensure stable power supply to both the SoM and camera module. Power supply fluctuations can cause inconsistent I2C communication(4).
Cable and Connection Integrity
The flat ribbon cable used to connect the carrier board and camera adapter is fragile(1). Verify:
- Cable connections are secure on both ends
- Cable is not damaged or bent excessively
- Contacts are properly aligned
Hardware Batch Variations
Some users have reported that certain SoM units may have hardware variations affecting CSI functionality(4). If I2C scanning shows the device is not detected, this could indicate a hardware-level issue.
Diagnostic Steps
- Check I2C bus availability:
# ls -l /dev | grep verdin-i2c
(3)
- Verify camera detection:
# i2cdetect -y <camera_i2c_bus>
(3)
- Check overlay application: Your boot log should show:
Applying Overlay: verdin-imx8mp_imx678_overlay.dtbo
(1)
Expected Behavior
When working correctly, you should see the camera device detected during I2C scanning, and the GStreamer pipeline should function:
# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw ! videoconvert ! waylandsink
(1)
If the I2C device is not detected during scanning, this indicates a hardware connectivity issue rather than a software configuration problem.
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.