Public bug reported:

Summary
=======

On a Dell XPS 13 Plus 9320 running Ubuntu 26.04 LTS, the integrated
OV01A10 MIPI webcam failed after upgrading to kernel
7.0.0-29-generic.

The immediate failure is that intel-ipu6 is loaded from the -29
initramfs before the real root filesystem is mounted, but its required
firmware intel/ipu/ipu6ep_fw.bin.zst is not present in that initramfs.

The firmware request therefore fails with -ENOENT and the intel-ipu6
PCI probe aborts.

The same running 7.0.0-29 kernel can successfully initialize the
camera after manually reprobling the PCI device once the real root
filesystem and firmware are available.

Adding ipu6ep_fw.bin.zst explicitly to the -29 initramfs also allows
the camera to initialize successfully on the next boot.

Hardware / OS
=============

Hardware:
    Dell XPS 13 Plus 9320

PCI device:
    Intel Corporation Alder Lake Imaging Signal Processor [8086:465d]
    Subsystem: Dell [1028:0af3]

Camera sensor:
    OV01A10

Operating system:
    Ubuntu 26.04 LTS (Resolute Raccoon)

Affected kernel:
    7.0.0-29-generic
    linux-image-7.0.0-29-generic 7.0.0-29.29

Relevant kernel packages:
    linux-main-modules-ipu6-7.0.0-29-generic 7.0.0-29.29
    linux-main-modules-usbio-7.0.0-29-generic 7.0.0-29.29
    linux-main-modules-vision-7.0.0-29-generic 7.0.0-29.29

Firmware:
    /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst

Firmware package:
    linux-firmware-intel-graphics

Expected result
===============

intel-ipu6 should successfully initialize during boot and the physical
OV01A10 sensor should appear as a V4L2 subdevice.

For example:

    /sys/class/video4linux/v4l-subdevX/name:
    ov01a10 17-0036

Actual result before workaround
===============================

During early boot:

    intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
    intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu/ipu6ep_fw.bin 
failed with error -2
    intel-ipu6 0000:00:05.0: error -ENOENT: Requesting signed firmware 
intel/ipu/ipu6ep_fw.bin failed
    intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed with error -2

After boot:

    lspci -nnk -s 00:05.0

showed no "Kernel driver in use: intel-ipu6".

The intel_ipu6 module itself was loaded, but the PCI device was
unbound.

Only the v4l2-relay virtual camera was present and:

    grep -Hi ov01a10 /sys/class/video4linux/*/name

returned no result.

Initramfs comparison
====================

The older initramfs images contain neither intel-ipu6 nor the IPU6
firmware:

    7.0.0-27-generic:
        nothing IPU6-related

    7.0.0-28-generic:
        nothing IPU6-related

The 7.0.0-29 initramfs contained the driver:

    
usr/lib/modules/7.0.0-29-generic/kernel/drivers/media/pci/intel/ipu-bridge.ko.zst
    
usr/lib/modules/7.0.0-29-generic/kernel/drivers/media/pci/intel/ipu6/intel-ipu6.ko.zst
    usr/lib/modules/7.0.0-29-generic/ubuntu/dkms/ipu6/intel-ipu6-psys.ko.zst

but did NOT contain:

    usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst

Boot timing
===========

journalctl -b -o short-monotonic shows that the IPU6 probe occurs
inside the initramfs:

    [1.087755] systemd[1]: Running in initrd.
    [1.283047] intel-ipu6 0000:00:05.0: enabling device
    [1.284015] intel-ipu6 0000:00:05.0: Direct firmware load for 
intel/ipu/ipu6ep_fw.bin failed with error -2
    [1.284891] intel-ipu6 0000:00:05.0: error -ENOENT: Requesting signed 
firmware intel/ipu/ipu6ep_fw.bin failed
    [1.284996] intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed 
with error -2

The actual root filesystem is not mounted until later:

    [4.391023] EXT4-fs (nvme0n1p3): mounted filesystem ... ro

Therefore the IPU6 PCI probe occurs approximately three seconds before
the real root filesystem containing the firmware is available.

Manual reprobe test
===================

Without rebooting, after the real root filesystem was mounted, I ran:

    echo 0000:00:05.0 | sudo tee /sys/bus/pci/drivers_probe

The same 7.0.0-29 kernel then successfully initialized IPU6:

    intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5
    intel_ipu6_psys.psys intel_ipu6.psys.40: pkg_dir entry count:8
    intel_ipu6_psys.psys intel_ipu6.psys.40: psys probe minor: 0

lspci then reported:

    Kernel driver in use: intel-ipu6

and the physical sensor appeared:

    /sys/class/video4linux/v4l-subdev5/name:ov01a10 17-0036

All Intel IPU6 ISYS capture nodes also appeared.

This demonstrates that the 7.0.0-29 driver, installed firmware and
OV01A10 sensor can operate correctly once the firmware is available.

Firmware configuration
======================

All tested kernels support compressed firmware:

7.0.0-27-generic:
    CONFIG_FW_LOADER_COMPRESS=y
    CONFIG_FW_LOADER_COMPRESS_XZ=y
    CONFIG_FW_LOADER_COMPRESS_ZSTD=y

7.0.0-28-generic:
    CONFIG_FW_LOADER_COMPRESS=y
    CONFIG_FW_LOADER_COMPRESS_XZ=y
    CONFIG_FW_LOADER_COMPRESS_ZSTD=y

7.0.0-29-generic:
    CONFIG_FW_LOADER_COMPRESS=y
    CONFIG_FW_LOADER_COMPRESS_XZ=y
    CONFIG_FW_LOADER_COMPRESS_ZSTD=y

Therefore this does not appear to be caused by loss of ZSTD firmware
support in kernel -29.

Workaround
==========

I added the required firmware explicitly to the dracut configuration:

    /etc/dracut.conf.d/90-ipu6-firmware.conf

containing:

    install_items+=" /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst "

I rebuilt:

    /boot/initrd.img-7.0.0-29-generic

Afterward:

    lsinitramfs /boot/initrd.img-7.0.0-29-generic

contains:

    usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst

On the following boot, intel-ipu6 initialized normally:

    intel-ipu6 0000:00:05.0: enabling device
    intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5

There was no firmware -ENOENT error.

lspci reports:

    Kernel driver in use: intel-ipu6

and the OV01A10 sensor is present:

    /sys/class/video4linux/v4l-subdev5/name:ov01a10 17-0036

The webcam works after starting/restarting v4l2-relayd.

Suspected cause
===============

The evidence strongly suggests that the 7.0.0-29 initramfs includes
intel-ipu6.ko but does not automatically include the
intel/ipu/ipu6ep_fw.bin.zst firmware needed by that driver.

This causes the IPU6 driver to probe inside initrd, before the real root
filesystem is mounted, and fail with -ENOENT.

I am not certain whether the appropriate fix belongs in the Ubuntu
linux package, the driver's firmware dependency metadata, or dracut
firmware dependency handling, so I have initially reported this
against the linux package.

Additional observation:

    modinfo -F firmware intel_ipu6

produces no output.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-29-generic 7.0.0-29.29
ProcVersionSignature: Ubuntu 7.0.0-29.29-generic 7.0.12
Uname: Linux 7.0.0-29-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/controlC0:  atam       6335 F.... pipewire
                      atam       6355 F.... wireplumber
 /dev/snd/controlC1:  atam       6355 F.... wireplumber
 /dev/snd/seq:        atam       6335 F.... pipewire
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Mon Aug 10 10:03:40 2026
InstallationDate: Installed on 2026-07-05 (36 days ago)
InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1)
IwDevWlp0s20f3Link: Not connected.
MachineType: Dell Inc. XPS 9320
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-7.0.0-29-generic 
root=UUID=e124844c-6877-4e4a-8778-fb977b6c71d1 ro quiet splash 
resume=UUID=0f3e81dd-bdda-4e11-9f8b-09edcd10f924 i915.enable_psr=1 
i915.enable_fbc=1 nvme_core.default_ps_max_latency_us=0 
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/23/2026
dmi.bios.release: 2.30
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 2.30.0
dmi.board.name: 0CW9KM
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.ec.firmware.release: 1.19
dmi.modalias: 
dmi:bvnDellInc.:bvr2.30.0:bd04/23/2026:br2.30:efr1.19:svnDellInc.:pnXPS9320:pvr:rvnDellInc.:rn0CW9KM:rvrA00:cvnDellInc.:ct10:cvr:sku0AF3:pfaXPS:
dmi.product.family: XPS
dmi.product.name: XPS 9320
dmi.product.sku: 0AF3
dmi.sys.vendor: Dell Inc.

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

** Attachment added: "xps9320-ipu6-kernel-29.tar.gz"
   
https://bugs.launchpad.net/bugs/2163145/+attachment/5990962/+files/xps9320-ipu6-kernel-29.tar.gz

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

Title:
  [7.0.0-29 regression] intel-ipu6 included in initramfs without
  ipu6ep_fw.bin, causing IPU6 probe -ENOENT and missing OV01A10 webcam

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


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

Reply via email to