Skip to content

Surface Pro 6 camera not working — ipu_bridge creates no CSI-2 links #2101

@Mattttttttttttttttttttttttttttttt

Description

DISCLAIMER

issue is written with claude after I tried to fix the problem with it; i'm not technologically literate enough to know what's going on.

Device: Microsoft Surface Pro 6
Kernel: 6.19.8-surface-2
OS: Linux Mint (Ubuntu 24.04 base)

Summary

The IPU3 camera pipeline does not work. The sensor drivers load and appear in the media graph, but ipu_bridge never creates links between the sensors and the CSI-2 ports, so libcamera sees an empty camera list.

What works

  • Kernel detects all 3 sensors: ipu3-cio2 0000:00:14.3: Connected 3 cameras
  • Sensor modules load: ov5693, ov8865, ov7251
  • Media devices /dev/media0 (ipu3-cio2) and /dev/media1 (ipu3-imgu) exist
  • Sensors appear in media graph as entities

What doesn't work

  • Sensors have 0 links in the media topology — not connected to any CSI-2 port
  • ipu_bridge produces no dmesg output
  • No INT3472 devices present: ls /sys/bus/platform/devices/INT3472* returns nothing
  • libcamera v0.7.1 reports: CameraMananger::cameras() is empty

Media topology (abbreviated)

- entity 37: ov7251 3-0060 (1 pad, 0 link, 0 routes)
- entity 39: ov8865 3-0010 (1 pad, 0 link, 0 routes)
- entity 41: ov5693 2-0036 (1 pad, 0 link, 0 routes)

All CSI-2 sink pads have no incoming links.

Relevant dmesg

ipu3-cio2 0000:00:14.3: Found supported sensor INT33BE:00
ipu3-cio2 0000:00:14.3: Found supported sensor INT347A:00
ipu3-cio2 0000:00:14.3: Found supported sensor INT347E:00
ipu3-cio2 0000:00:14.3: Connected 3 cameras

No ipu_bridge lines appear at all.

I2C devices present

i2c-INT33BE:00
i2c-INT347A:00
i2c-INT347A:00-VCM
i2c-INT347E:00

Hypothesis

The Surface Pro 6 ACPI tables do not include INT3472 PMIC entries, which ipu_bridge relies on to map sensors to CSI-2 ports. This may require a quirk or ACPI SSDT override specific to this device.

What I've tried

  • Built and installed libcamera v0.7.1 from source with -Dipas=ipu3 -Dpipelines=ipu3
  • Manually loaded ipu3-cio2 and ipu3-imgu modules
  • Running cam --list as root

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions