ubuntuusers.de

KVM/QUEMU / host doesn't support passthrough of host PCI devices

Status: Ungelöst | Ubuntu-Version: Server 24.04 (Noble Numbat)
Antworten |

adelaar

Anmeldungsdatum:
23. November 2024

Beiträge: 467

Vorweg: bin unsicher ob das hier hin gehört oder eher unter "Fortgeschrittene Netzwerkkonfiguration". Falls hier falsch bitter gern verschieben. Danke

Nun zum Problem. Habe ein PCI-WiFi-Device vom Host (Ubuntu Server 24.04) an einen Client (Xubuntu 24.04) durchgereicht. Das Starten des Clients scheitert deswegen nun mit Fehlermeldung:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
Fehler beim Starten der Domain: unsupported configuration: host doesn't support passthrough of host PCI devices

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1402, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1353, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: unsupported configuration: host doesn't support passthrough of host PCI devices

In UEFI (BIOS) sind sowohl "Intel Virtualisation Technology" wie auch "VT-d" enabled.

Auf anderer ähnlicher Hardware konnte ich problemlos PCI-LAN Devices durchreichen an den Client.

Was übersehe ich in diesem Fall?

adelaar

(Themenstarter)

Anmeldungsdatum:
23. November 2024

Beiträge: 467

Ich denke ich habe die Ursache gefunden, aber leider keine Lösung.

dmesg | grep IOMMU ergab zunächst das hier:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
root@awow-al34:~# dmesg | grep IOMMU
[    0.152714] DMAR-IR: IOAPIC id 1 under DRHD base  0xfed65000 IOMMU 1
[    0.489450] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.489452] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.489459] DMAR: IOMMU feature nwfs inconsistent
[    0.489464] DMAR: IOMMU feature eafs inconsistent
[    0.489469] DMAR: IOMMU feature prs inconsistent
[    0.489474] DMAR: IOMMU feature nest inconsistent
[    0.489479] DMAR: IOMMU feature mts inconsistent
[    0.489484] DMAR: IOMMU feature sc_support inconsistent
[    0.489489] DMAR: IOMMU feature dev_iotlb_support inconsistent
root@awow-al34:~#

Dann habe ich in der "/etc/default/grub" bei "GRUB_CMDLINE_LINUX_DEFAULT=" "intel_iommu=on" ergänzt, obwohl dieser Eintag beid em anderen Server, wo alles funktioniert nicht vorhanden ist.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
root@awow-al34:~# dmesg | grep IOMMU
[    0.040885] DMAR: IOMMU enabled
[    0.152756] DMAR-IR: IOAPIC id 1 under DRHD base  0xfed65000 IOMMU 1
[    0.490471] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.490474] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.490480] DMAR: IOMMU feature nwfs inconsistent
[    0.490485] DMAR: IOMMU feature eafs inconsistent
[    0.490490] DMAR: IOMMU feature prs inconsistent
[    0.490495] DMAR: IOMMU feature nest inconsistent
[    0.490500] DMAR: IOMMU feature mts inconsistent
[    0.490505] DMAR: IOMMU feature sc_support inconsistent
[    0.490509] DMAR: IOMMU feature dev_iotlb_support inconsistent
root@awow-al34:~#

Das Ergebnis ist nun, dass IOMMU nun enabled ist, die feature / inconsistent Meldungen aber dennoch bleiben. Irgendwas scheint inkompatibel zu sein.

Zum Vergleich auf dem Server (auch 24.04) auf dem alles funktioniert ergibt

1
2
root@peladn-wi6:~# dmesg | grep IOMMU
root@peladn-wi6:~# 

keine Ausgabe.

Der verwendete Kernel ist in beiden Fällen identisch

1
2
3
root@awow-al34:~# cat /proc/version_signature
Ubuntu 6.8.0-51.52-generic 6.8.12
root@awow-al34:~#

TNTMaster

Anmeldungsdatum:
30. Juli 2009

Beiträge: 876

Hi

Die Fehlermeldung sagt mir nicht viel, wie ist die Ausgabe dieser beiden Befehle?

1
2
sudo dmesg | grep -Ei "iommu|virt|vfio|command line"
for d in /sys/kernel/iommu_groups/*/devices/*; do echo -n "IOMMU Group $(echo "$d" | cut -d/ -f5): "; lspci -nns "${d##*/}"; done | sort -n -k3

Gruß TNT

adelaar

(Themenstarter)

Anmeldungsdatum:
23. November 2024

Beiträge: 467

wie ist die Ausgabe dieser beiden Befehle?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
root@awow-al34:~# dmesg | grep -Ei "iommu|virt|vfio|command line"
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.8.0-51-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro
[    0.040674] Booting paravirtualized kernel on bare hardware
[    0.041389] Kernel command line: BOOT_IMAGE=/vmlinuz-6.8.0-51-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro
[    0.041509] Unknown kernel command line parameters "BOOT_IMAGE=/vmlinuz-6.8.0-51-generic", will be passed to user space.
[    0.153424] DMAR-IR: IOAPIC id 1 under DRHD base  0xfed65000 IOMMU 1
[    0.402298] iommu: Default domain type: Translated
[    0.402298] iommu: DMA domain TLB invalidation policy: lazy mode
[    0.490235] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.490238] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.490244] DMAR: IOMMU feature nwfs inconsistent
[    0.490250] DMAR: IOMMU feature eafs inconsistent
[    0.490255] DMAR: IOMMU feature prs inconsistent
[    0.490260] DMAR: IOMMU feature nest inconsistent
[    0.490265] DMAR: IOMMU feature mts inconsistent
[    0.490269] DMAR: IOMMU feature sc_support inconsistent
[    0.490274] DMAR: IOMMU feature dev_iotlb_support inconsistent
[    0.490528] pci 0000:00:02.0: Adding to iommu group 0
[    0.491603] pci 0000:00:00.0: Adding to iommu group 1
[    0.491631] pci 0000:00:00.1: Adding to iommu group 1
[    0.491659] pci 0000:00:0e.0: Adding to iommu group 2
[    0.491696] pci 0000:00:0f.0: Adding to iommu group 3
[    0.491726] pci 0000:00:12.0: Adding to iommu group 4
[    0.491759] pci 0000:00:13.0: Adding to iommu group 5
[    0.491791] pci 0000:00:13.1: Adding to iommu group 6
[    0.491821] pci 0000:00:13.2: Adding to iommu group 7
[    0.491855] pci 0000:00:13.3: Adding to iommu group 8
[    0.491891] pci 0000:00:15.0: Adding to iommu group 9
[    0.491952] pci 0000:00:16.0: Adding to iommu group 10
[    0.491979] pci 0000:00:16.1: Adding to iommu group 10
[    0.492009] pci 0000:00:16.2: Adding to iommu group 10
[    0.492036] pci 0000:00:16.3: Adding to iommu group 10
[    0.492095] pci 0000:00:17.0: Adding to iommu group 11
[    0.492124] pci 0000:00:17.1: Adding to iommu group 11
[    0.492152] pci 0000:00:17.2: Adding to iommu group 11
[    0.492180] pci 0000:00:17.3: Adding to iommu group 11
[    0.492247] pci 0000:00:19.0: Adding to iommu group 12
[    0.492277] pci 0000:00:19.1: Adding to iommu group 12
[    0.492306] pci 0000:00:19.2: Adding to iommu group 12
[    0.492333] pci 0000:00:1e.0: Adding to iommu group 13
[    0.492379] pci 0000:00:1f.0: Adding to iommu group 14
[    0.492411] pci 0000:00:1f.1: Adding to iommu group 14
[    0.492442] pci 0000:01:00.0: Adding to iommu group 15
[    0.492476] pci 0000:02:00.0: Adding to iommu group 16
[    0.494697] DMAR: Intel(R) Virtualization Technology for Directed I/O
[   27.007732] systemd[1]: Created slice machine.slice - Virtual Machine and Container Slice.
[   27.013479] systemd[1]: Reached target virt-guest-shutdown.target - libvirt guests shutdown target.
root@awow-al34:~#
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
root@awow-al34:~# for d in /sys/kernel/iommu_groups/*/devices/*; do echo -n "IOMMU Group $(echo "$d" | cut -d/ -f5): "; lspci -nns "${d##*/}"; done | sort -n -k3
IOMMU Group 0: 00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 03)
IOMMU Group 1: 00:00.0 Host bridge [0600]: Intel Corporation Gemini Lake Host Bridge [8086:31f0] (rev 03)
IOMMU Group 1: 00:00.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant [8086:318c] (rev 03)
IOMMU Group 2: 00:0e.0 Multimedia audio controller [0401]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 03)
IOMMU Group 3: 00:0f.0 Communication controller [0780]: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface [8086:319a] (rev 03)
IOMMU Group 4: 00:12.0 SATA controller [0106]: Intel Corporation Celeron/Pentium Silver Processor SATA Controller [8086:31e3] (rev 03)
IOMMU Group 5: 00:13.0 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31d8] (rev f3)
IOMMU Group 6: 00:13.1 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31d9] (rev f3)
IOMMU Group 7: 00:13.2 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31da] (rev f3)
IOMMU Group 8: 00:13.3 PCI bridge [0604]: Intel Corporation Gemini Lake PCI Express Root Port [8086:31db] (rev f3)
IOMMU Group 9: 00:15.0 USB controller [0c03]: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller [8086:31a8] (rev 03)
IOMMU Group 10: 00:16.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 0 [8086:31ac] (rev 03)
IOMMU Group 10: 00:16.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 1 [8086:31ae] (rev 03)
IOMMU Group 10: 00:16.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 2 [8086:31b0] (rev 03)
IOMMU Group 10: 00:16.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 3 [8086:31b2] (rev 03)
IOMMU Group 11: 00:17.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 4 [8086:31b4] (rev 03)
IOMMU Group 11: 00:17.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 5 [8086:31b6] (rev 03)
IOMMU Group 11: 00:17.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 6 [8086:31b8] (rev 03)
IOMMU Group 11: 00:17.3 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor I2C 7 [8086:31ba] (rev 03)
IOMMU Group 12: 00:19.0 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c2] (rev 03)
IOMMU Group 12: 00:19.1 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c4] (rev 03)
IOMMU Group 12: 00:19.2 Signal processing controller [1180]: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller [8086:31c6] (rev 03)
IOMMU Group 13: 00:1e.0 SD Host controller [0805]: Intel Corporation Device [8086:31d0] (rev 03)
IOMMU Group 14: 00:1f.0 ISA bridge [0601]: Intel Corporation Celeron/Pentium Silver Processor LPC Controller [8086:31e8] (rev 03)
IOMMU Group 14: 00:1f.1 SMBus [0c05]: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model [8086:31d4] (rev 03)
IOMMU Group 15: 01:00.0 Network controller [0280]: Intel Corporation Wireless 7265 [8086:095a] (rev 59)
IOMMU Group 16: 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
root@awow-al34:~# 
Antworten |