Public bug reported:

The sensor never powers up because its power-management chip (INT3472)
cannot obtain its GPIOs from the USB-attached USBIO GPIO bridge (ACPI
`INTC10B2`) at boot. As a result the sensor's I2C client is never
created, no `/dev/v4l-subdev*` is registered, the sensor never appears
in the IPU6 media graph, and libcamera reports "No sensor found".
Userspace apps therefore see no built-in camera. An external Logitech
Brio USB webcam works normally.

## Affected system
- OS: Ubuntu 26.04 LTS (Resolute Raccoon)
- Kernel: 7.0.0-28-generic (also installed: 6.14.0-37-generic)
- Hostname: vidyut
- SoC: Intel Meteor Lake; IPU: `00:05.0 Multimedia controller: Intel 
Corporation Meteor Lake IPU (rev 05)`
- Sensor: OVTI08F4 / ov08x40
- Camera power chips: INT3472:0b, INT3472:0c (driver: int3472-discrete)
- GPIO/I2C bridge: "SLS Lattice AI USB 2.0" (USB ID 2ac1:20c9) exposing 
usbio-gpio (INTC10B2) + usbio-i2c

## Root cause (evidence)

### 1. INT3472 defers forever at boot waiting for the USB GPIO bridge
The USBIO GPIO controller (`INTC10B2`) is a USB device and enumerates late. 
INT3472 probes
first and defers ~40 times:
```
[12.381] int3472-discrete INT3472:0b: cannot find GPIO chip INTC10B2:00, 
deferring
[12.400] int3472-discrete INT3472:0c: cannot find GPIO chip INTC10B2:00, 
deferring
... (repeats until ~12.998s) ...
```

### 2. USBIO GPIO firmware reports a broken pin bitmap
```
[13.002] gpio_usbio.usbio-gpio usbio.usbio-gpio.0: [Firmware Bug]: GPIO 8 is 
not in FW pins bitmap
```

### 3. After the GPIO chip appears, INT3472 has "no dependents"
Reloading the int3472 modules once `INTC10B2` is present makes the deferral 
stop, but:
```
[1393.288] int3472-discrete INT3472:0b: INT3472 seems to have no dependents.
[1393.288] int3472-discrete INT3472:0c: INT3472 seems to have no dependents.
```
The sensor was never registered against its power provider, so it is never 
powered.

### 4. Downstream symptoms
- `ov08x40` module is loaded but bound to no device (no symlink in
  `/sys/bus/i2c/drivers/ov08x40/`, module refcnt 0).
- No `ov08x40` / `OVTI08F4` I2C client exists on any adapter (including 
usbio-i2c
  `i2c-17`/`i2c-18`).
- No `/dev/v4l-subdev*` nodes.
- IPU6 media graph (`/dev/media1`) has CSI2 receivers but **no sensor entity**.
- libcamera: `SimplePipeline simple.cpp:1899 INFO No sensor found for 
/dev/media1`.
- Note: `INTC10B2:00` gpiochip *is* present at runtime 
(`/sys/class/gpio/gpiochip963`
  label `INTC10B2:00`), i.e. the bridge does eventually enumerate — the failure 
is the
  boot-time probe ordering plus the missing sensor<->INT3472 linkage.

## Impact
Built-in camera completely non-functional in all applications (browser, video
conferencing, Cheese/Snapshot). External USB webcams unaffected.

## Reproducibility
Occurs on every boot; long-standing. Reloading `ov08x40`/IPU6 modules does not 
help.
Reloading the INT3472 chain after the USB GPIO bridge is up removes the 
deferral but
yields "INT3472 seems to have no dependents" — the sensor is still not created.

## Suspected fix areas
- Probe-ordering / deferred-probe handling so INT3472 (and the sensor I2C 
client on the
  USBIO I2C bus) retry successfully once the USB `usbio` bridge (INTC10B2 / 
usbio-i2c)
  enumerates.
- USBIO GPIO firmware/driver pin-bitmap quirk ("GPIO 8 is not in FW pins 
bitmap") so the
  camera reset/powerdown GPIO can be acquired.
- ipu_bridge / int3472-discrete linkage so INT3472 does not end up with "no 
dependents".

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-28-generic 7.0.0-28.28
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Tue Jul 28 11:36:07 2026
InstallationDate: Installed on 2025-11-20 (250 days ago)
InstallationMedia: Ubuntu 25.04 "Plucky Puffin" - Release amd64 (20250415.3)
MachineType: LENOVO 21NYCTO1WW
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/usr/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-28-generic 
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash 
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No 
PulseAudio daemon running, or not running as session daemon.
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/23/2025
dmi.bios.release: 1.11
dmi.bios.vendor: LENOVO
dmi.bios.version: N4MET24W (1.11 )
dmi.board.asset.tag: Not Available
dmi.board.name: 21NYCTO1WW
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.ec.firmware.release: 1.4
dmi.modalias: 
dmi:bvnLENOVO:bvrN4MET24W(1.11):bd06/23/2025:br1.11:efr1.4:svnLENOVO:pn21NYCTO1WW:pvrThinkPadX1CarbonGen13:rvnLENOVO:rn21NYCTO1WW:rvrNotDefined:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_21NY_BU_Think_FM_ThinkPadX1CarbonGen13:pfaThinkPadX1CarbonGen13:
dmi.product.family: ThinkPad X1 Carbon Gen 13
dmi.product.name: 21NYCTO1WW
dmi.product.sku: LENOVO_MT_21NY_BU_Think_FM_ThinkPad X1 Carbon Gen 13
dmi.product.version: ThinkPad X1 Carbon Gen 13
dmi.sys.vendor: LENOVO

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute wayland-session

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161943

Title:
  The built-in MIPI camera (Intel IPU6, OV08x40 sensor) does not work.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2161943/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to