Skip to content

linbofs: NVMe controller resets on Lenovo L16 Gen1 (Intel Core Ultra 5 / Meteor Lake) #165

Description

@HappyBasher

Problem

On a Lenovo L16 Gen1 (Intel Core Ultra 5 125U, Meteor Lake), LINBO boots and starts loading/writing the image, but then hangs at 0% with repeated dmesg output:

nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x11
nvme0n1: I/O Cmd(0x2) @ LBA ..., I/O Error (sct 0x3 / sc 0x71)
I/O error, dev nvme0n1, sector ..., op 0x0:(READ) ...

The resets recur at a very regular ~30s interval (matching the default NVMe io_timeout), hundreds of times per session.

Diagnosis

  • Adding nvme_core.default_ps_max_latency_us=0 and pcie_aspm=off via KernelOptions in the group's start.conf did not fix the issue (confirmed active in the boot Command line, resets persisted at the same cadence).
  • Comparing lsmod from a working native Ubuntu 26.04 boot on the same machine against linbofs's harvested kernel modules showed linbofs is missing an entire class of Meteor Lake platform power-management drivers that Ubuntu's generic kernel loads:
    • pinctrl_meteorlake (and the whole drivers/pinctrl/intel/* family)
    • intel_pmc_core, intel_pmc_core_pltdrv, intel_pmc_ssram_telemetry
    • intel_vsec, pmt_telemetry, pmt_discovery, pmt_class
    • idma64

These drivers manage GPIO-controlled ACPI power resources and PMC handshakes used on Ice/Tiger/Alder/Meteor Lake platforms to bring devices behind the PCH (including NVMe) back up cleanly after D3/APST power transitions. Without the matching pinctrl driver, the platform can't correctly service the relevant ACPI _PS0 power-resource methods, which lines up with the observed reset pattern that plain NVMe-side kernel parameters could not fix.

Fix

Added the missing modules to build/config/modules.d/:

  • new kernel.drivers.pinctrl (all Intel per-platform pinctrl drivers, Alder Lake through Meteor Lake, so the whole recent Intel generation is covered, not just this one device)
  • idma64.ko.zst added to kernel.drivers.dma
  • intel-vsec, intel_pmc_core (+ dependencies), pmt_* added to kernel.drivers.platform

Verification

Package rebuilt and installed; LINBO boot on a KVM test client works fine. Awaiting real-hardware confirmation on the reported Lenovo L16 Gen1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions