Skip to content

Several qubes fail to start: Unknown PCI header type '127' for device (and other PCI-related errors) #10885

@deeplow

Description

@deeplow

Qubes OS release

Qubes 4.2.4

Brief summary

When switching from an old fedora to a new one via SecureDrop's Workstation, qubes fail to start and the entire system needs to be restarted, for the issue to be resolved. The startup failure notification shows: Start failed: internal error: Unknown PCI header type '127' for device ... see /var/log/libvirt/libxl/libxl-driver.log for details.

Both sys-net and sys-usb are affected. But they seem to have different symptoms. Might be worth a separate report. This happens specifically when switching old Fedora templates to a more recent version through this salt state file. The file itself is a bit convoluted a definitely in need of a cleanup / simplification, but I have rendered it in a gist, so it's easier to understand what's going on.

This happens on various systems, quite reliably:

  • ThinkPad T14 Gen1
  • NovaCustom NV41 (on 2 separate devices)

Steps to reproduce

Note I haven't tried these exact reproduction steps yet, but the issue happens when running the particular sls file. It could be that there is some path dependence and it requires a full SecureDrop Workstation install, but I doubt it.

  • Be on a clean Qubes 4.2.4 install
  • Install SecureDrop Workstation packages (we only really this mostly self-contained sls file)
    • sudo qubes-dom0-update -y qubes-repo-contrib
    • sudo qubes-dom0-update -y --clean securedrop-workstation-keyring
    • sudo qubes-dom0-update -y --clean securedrop-workstation-dom0-config
  • sudo qubesctl --show-output state.sls securedrop_salt.sd-sys-vms

Expected behavior

Completes successfully.

Actual behavior

Soon after Fedora 43 is downloaded and updated, the the system hangs when trying to start various qubes.

sys-firewall:

Image

Specifically:

Start failed: internal error: Unknown PCI header type '127' for device ... see /var/log/libvirt/libxl/libxl-driver.log for details

The /var/log/libvirt/libxl/libxl-driver.log log has several errors about failing to remove devices, as well as an error from libxl_exec.c that a process died with exit status zero.

sys-net

Image

Specifically:

Start failed: internal error: libxenlight failed to create new domain 'sys-net', see /var/log/libvirt/libxl/libxl-driver.log for details

sys-usb

Image

Specifically:

Cannot connect to qrexec agent for 60 seconds, see /var/log/xen/console/guest-sys-usb.log for details

The /var/log/xen/console/guest-sys-usb.log file simply contains this line (for the time period of running sdw --apply):

Logfile Opened

Additional information

Credit to @apyrgio for filing the issue originally in freedomofpress/securedrop-workstation#1668. This issue contains additional debug info. It had also happened to me a few times, but always at an inconvenient time, where a system restart to continue the work was necessary.

Possibly related issues:

Logs from Thinkpad T14 (Gen 1)

Dom0 kernel log: kern.log

Output on my system for the sys-net qube:

$ qvm-pci ls sys-net
BACKEND:DEVID  DESCRIPTION                                                                                      USED BY
<id1>                       Network controller: Intel Corporation Comet Lake PCH-LP CNVi Wifi       sys-net (no-strict-reset=True)
<id2>                       Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V     sys-net (no-strict-reset=True)
$ cat /sys/bus/pci/devices/<id1>/reset_method
flr
$ cat /sys/bus/pci/devices/<id1>/power/control
auto
$ cat /sys/bus/pci/devices/<id2>/reset_method
<does not exist>
$ cat /sys/bus/pci/devices/<id2>/power/control
on

sys-usb qube:

$ qvm-pci ls sys-usb
BACKEND:DEVID  DESCRIPTION                                                                                                    USED BY
<id1>                       USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller                     sys-usb (no-strict-reset=True)
<id2>                       USB controller: Intel Corporation JHL6240-Thunderbolt 3 USB 3.1 Controller (Low Power [Alpine Ridge LP 2016]   sys-usb (no-strict-reset=True)
$ cat /sys/bus/pci/devices/<id1>/reset_method
<does not exist>
$ cat /sys/bus/pci/devices/<id1>/power/control
auto
$ cat /sys/bus/pci/devices/<id2>/reset_method
pm bus
$ cat /sys/bus/pci/devices/<id2>/power/control
on

Originally posted by @apyrgio in #1668

Output on my system for the sys-net qube:

$ qvm-pci ls sys-net
BACKEND:DEVID  DESCRIPTION                                                                                      USED BY
<id1>                       Network controller: Intel Corporation Comet Lake PCH-LP CNVi Wifi       sys-net (no-strict-reset=True)
<id2>                       Ethernet controller: Intel Corporation Ethernet Connection (10) I219-V     sys-net (no-strict-reset=True)
$ cat /sys/bus/pci/devices/<id1>/reset_method
flr
$ cat /sys/bus/pci/devices/<id1>/power/control
auto
$ cat /sys/bus/pci/devices/<id2>/reset_method
<does not exist>
$ cat /sys/bus/pci/devices/<id2>/power/control
on

sys-usb qube:

$ qvm-pci ls sys-usb
BACKEND:DEVID  DESCRIPTION                                                                                                    USED BY
<id1>                       USB controller: Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller                     sys-usb (no-strict-reset=True)
<id2>                       USB controller: Intel Corporation JHL6240-Thunderbolt 3 USB 3.1 Controller (Low Power [Alpine Ridge LP 2016]   sys-usb (no-strict-reset=True)
$ cat /sys/bus/pci/devices/<id1>/reset_method
<does not exist>
$ cat /sys/bus/pci/devices/<id1>/power/control
auto
$ cat /sys/bus/pci/devices/<id2>/reset_method
pm bus
$ cat /sys/bus/pci/devices/<id2>/power/control
on

Originally posted by @apyrgio in #1668

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: otherNo other component ("C:") label applies to this issue, or the appropriate label is not yet known.P: defaultPriority: default. Default priority for new issues, to be replaced given sufficient information.affects-4.2This issue affects Qubes OS 4.2.hardware supportThis issue pertains to the hardware that Qubes OS supports.needs diagnosisRequires technical diagnosis from developer. Replace with "diagnosed" or remove if otherwise closed.

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions