Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #92492

Bug#1136713: linux: please enable CONFIG_USB_USBIO / CONFIG_GPIO_USBIO / CONFIG_I2C_USBIO

From Samuel Henrique <samueloph@debian.org>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#1136713: linux: please enable CONFIG_USB_USBIO / CONFIG_GPIO_USBIO / CONFIG_I2C_USBIO
Date 2026-05-15 05:30 +0200
Message-ID <MURpn-5dYF-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Cross-posted to 2 groups.

Show all headers | View raw


Source: linux
Version: 7.0.4-1
Severity: important
Tags: upstream patch

Dear Maintainer,

The Debian kernel ships with the Intel USB-IO bridge drivers disabled:

    $ grep USBIO /boot/config-7.0.4+deb14-amd64
    # CONFIG_USB_USBIO is not set

This breaks the front webcam on current Intel Arrow Lake laptops (e.g.
ThinkPad X1 Carbon Gen 13). On these machines the camera sensor's I2C
control bus and its power/reset GPIOs are routed through the Intel
USB-IO bridge (Lattice NX33, USB ID 2ac1:20c9, ACPI HIDs INTC10B2 for
GPIO and INTC10B3 for I2C). With no driver bound to that bridge,
int3472-discrete cannot find the GPIO chip, so the sensor never powers
up, ov08x40 never probes, and libcamera sees nothing:

    intel-ipu6 0000:00:05.0: Found supported sensor OVTI08F4:00
    intel-ipu6 0000:00:05.0: Connected 1 cameras
    int3472-discrete INT3472:0b: cannot find GPIO chip INTC10B2:00, deferring
    int3472-discrete INT3472:0c: cannot find GPIO chip INTC10B2:00, deferring
    [...continuing forever...]

    $ cam --list
    [..] INFO SimplePipeline simple.cpp:1899 No sensor found for /dev/media0
    Available cameras:
    (none)

The kernel source already fully supports the hardware in 7.0.4-1 — no
patches needed, only a config change. Verified directly in
linux-source-7.0:

    drivers/usb/misc/usbio.c:677:    { USB_DEVICE(0x2ac1, 0x20c9), /* Lattice NX33 */
    drivers/gpio/gpio-usbio.c:30:    { "INTC10B2" }, /* ARL */
    drivers/i2c/busses/i2c-usbio.c:28: { "INTC10B3" }, /* ARL */

Building these three modules from linux-source-7.0 against
linux-headers-7.0.4+deb14-amd64 (default config, no source changes) and
loading them resolves the problem immediately:

    gpiochip1: 32 GPIOs, parent: auxiliary/usbio.usbio-gpio.0, INTC10B2:00
    ov08x40 i2c-OVTI08F4:00: supply dovdd not found, using dummy regulator
    [...]
    $ cam --list
    Available cameras:
    1: Internal front camera (\_SB_.PC00.LNK1)

Streaming via `cam`, GStreamer libcamerasrc, and the PipeWire libcamera
spa plugin all work.

Proposed fix — enable in the Debian kernel config:

    CONFIG_USB_USBIO=m
    CONFIG_GPIO_USBIO=m
    CONFIG_I2C_USBIO=m

The same modules also serve Meteor Lake (INTC1007/INTC1008), Lunar Lake
(INTC10B5/INTC10B6), Meteor Lake CVF (INTC10D1/INTC10D2), and Panther
Lake (INTC10E2/INTC10E3) — all ACPI IDs are already in the source — so
this fix benefits a broader set of recent Intel laptops, not only Arrow
Lake.

Affected hardware (this report):
  - Lenovo ThinkPad X1 Carbon Gen 13 (Intel Arrow Lake-H/U)
  - Intel IPU6 [8086:7d19]
  - USB-IO bridge: Lattice NX33 [2ac1:20c9]
  - Camera sensor: OmniVision OV08F4 (ACPI HID OVTI08F4)

Other related packages:
┌── Desired=Unknown/Install/Remove/Purge/Hold
│┌─ Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
││┌ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
│││ Name                         Version      Architecture Description
├┼┼─════════════════════════════─════════════─════════════─═══════════════════════════════════════════════════════════════
ii  gstreamer1.0-libcamera:amd64 0.7.1-1      amd64        complex camera support library (GStreamer plugin)
ii  libcamera-ipa:amd64          0.7.1-1      amd64        complex camera support library (IPA modules)
ii  libcamera-tools              0.7.1-1      amd64        complex camera support library (tools)
ii  libcamera-v4l2:amd64         0.7.1-1      amd64        complex camera support library (V4L2 module)
un  libcamera0                   <none>       <none>       (no description available)
ii  libcamera0.7:amd64           0.7.1-1      amd64        complex camera support library
ii  libspa-0.2-libcamera:amd64   1.6.4-1      amd64        libraries for the PipeWire multimedia server - libcamera plugin
ii  pipewire:amd64               1.6.4-1      amd64        audio and video processing engine multimedia server
ii  pipewire-libcamera           1.6.4-1      all          transitional package for libspa-0.2-libcamera

-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (500, 'testing'), (100, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 7.0.4+deb14-amd64 (SMP w/14 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), LANGUAGE=en_IE:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Thank you,

--
Samuel Henrique <samueloph>

Back to linux.debian.kernel | Previous | Next | Find similar


Thread

Bug#1136713: linux: please enable CONFIG_USB_USBIO / CONFIG_GPIO_USBIO / CONFIG_I2C_USBIO Samuel Henrique <samueloph@debian.org> - 2026-05-15 05:30 +0200

csiph-web