[SOLVED] USB 3.0 PCIe passthrough = Systemabsturz

El_Don

New Member
Sep 13, 2020
19
0
1
53
Hallo,

ich habe einen neu erworbenen USB 3.0 PCIe Controller eingebaut, welcher jetzt allein in der IOMMU Gruppe 8 ist.
Da der Controller in der VM trotzdem nicht korrekt erkannt wird, bzw. der Proxmox Server beim Herunterfahren der VM sogar abstürzt,
dachte ich mir, dass es vielleicht sinnvoll ist den Controller zunächst zu blacklisten.

03:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10) Subsystem: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] Kernel driver in use: xhci_hcd Kernel modules: xhci_pci

Dazu habe ich die Device ID 1b73:1100 zunächst in die /etc/modprobe.d/vfio.conf mit options vfio-pci ids=1b73:1100 eingetragen.
Anschließend ein update-initramfs -u gemacht und rebootet. Hat nichts gebracht.

Dann habe ich zusätzlich noch in die /etc/default/grub die Zeile
GRUB_CMDLINE_LINUX_DEFAULT editiert und noch update-grub gemacht. Auch das hat nach Reboot nichts gebracht.
Die Karte ist immer noch an xhci_pci bzw. xhci_hcd gebunden.

Ich habe einige ältere Threads mit genau dem gleichen Problem gefunden, aber in keinem stand eine Lösung.
Gibt es dazu neue Erkenntnisse oder weitere Tipps?

Vielen Dank
 
UPDATE:
Okay, ich habe mich in anderen Foren schlau gemacht und das Problem ist wohl, dass der VFIO-PCI Treiber zwar beim Start verbunden wird, dieser im Bootvorgang aber wohl wieder vom xhci_hcd überschrieben wird. Es gibt allerdings einen Workaround wie man nach dem Bootvorgang den Controller mit unbind/bind mit VFIO-PCI konnektieren kann. Mit dem Skript von Andre Richter unter https://github.com/andre-richter/vfio-pci-bind
könnte man das in den Bootvorgang einhängen. Das Skript funktioniert und das Device hängt dann tatsächlich am VFIO-PCI.
So weit so gut...

Nachdem ich aber das Device in die VM eingehängt habe, hat es nicht wirklich Verbesserungen gegeben.
Genauer: Das gesamte System wird beim Boot der VM langsamer und sobald ich die VM schließe, friert wieder der ganze Server ein.
Den ganzen xhci_hcd Treiber kann ich leider nicht blacklisten, weil ich den onboard Controller für das System benötige (z.B. USV)

Ich poste mal ein paar Zeilen der Konfiguration

Group: 0 0000:00:00.0 Host bridge [0600]: Intel Corporation Device [8086:9b53] (rev 03)
Group: 1 0000:00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 03) Driver: pcieport
Group: 1 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1f06] (rev a1) Driver: vfio-pci
Group: 1 0000:01:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1) Driver: vfio-pci
Group: 1 0000:01:00.2 USB controller [0c03]: NVIDIA Corporation TU106 USB 3.1 Host Controller [10de:1ada] (rev a1) Driver: vfio-pci
Group: 1 0000:01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C Port Policy Controller [10de:1adb] (rev a1) Driver: vfio-pci
Group: 2 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:9bc8] (rev 03) Driver: i915
Group: 3 0000:00:12.0 Signal processing controller [1180]: Intel Corporation Device [8086:06f9] Driver: intel_pch_thermal
Group: 4 0000:00:14.0 USB controller [0c03]: Intel Corporation Device [8086:06ed] Driver: xhci_hcd
Group: 4 0000:00:14.2 RAM memory [0500]: Intel Corporation Device [8086:06ef]
Group: 5 0000:00:16.0 Communication controller [0780]: Intel Corporation Device [8086:06e0] Driver: mei_me
Group: 6 0000:00:17.0 SATA controller [0106]: Intel Corporation Device [8086:06d2] Driver: ahci
Group: 7 0000:00:1b.0 PCI bridge [0604]: Intel Corporation Device [8086:06ac] (rev f0) Driver: pcieport
Group: 7 0000:02:00.0 Non-Volatile memory controller [0108]: Seagate Technology PLC Device [1bb1:5012] (rev 01) Driver: nvme
Group: 8 0000:00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:06bb] (rev f0) Driver: pcieport
Group: 8 0000:03:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10) Driver: xhci_hcd

Group: 9 0000:00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:0685]
Group: 9 0000:00:1f.3 Audio device [0403]: Intel Corporation Device [8086:06c8] Driver: snd_hda_intel
Group: 9 0000:00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:06a3] Driver: i801_smbus
Group: 9 0000:00:1f.5 Serial bus controller [0c80]: Intel Corporation Device [8086:06a4]
Group: 9 0000:00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:0d4d] Driver: e1000e

00:00.0 Host bridge [0600]: Intel Corporation Device [8086:9b53] (rev 03)
Subsystem: ASRock Incorporation Device [1849:9b53]
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 03)
Kernel driver in use: pcieport
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:9bc8] (rev 03)
Subsystem: ASRock Incorporation Device [1849:9bc8]
Kernel driver in use: i915
Kernel modules: i915
00:12.0 Signal processing controller [1180]: Intel Corporation Device [8086:06f9]
Subsystem: ASRock Incorporation Device [1849:06f9]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:14.0 USB controller [0c03]: Intel Corporation Device [8086:06ed]
Subsystem: ASRock Incorporation Device [1849:06ed]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:14.2 RAM memory [0500]: Intel Corporation Device [8086:06ef]
Subsystem: ASRock Incorporation Device [1849:06ef]
00:16.0 Communication controller [0780]: Intel Corporation Device [8086:06e0]
Subsystem: ASRock Incorporation Device [1849:06e0]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Device [8086:06d2]
Subsystem: ASRock Incorporation Device [1849:06d2]
Kernel driver in use: ahci
Kernel modules: ahci
00:1b.0 PCI bridge [0604]: Intel Corporation Device [8086:06ac] (rev f0)
Kernel driver in use: pcieport
00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:06bb] (rev f0)
Kernel driver in use: pcieport
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:0685]
Subsystem: ASRock Incorporation Device [1849:0685]
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:06c8]
Subsystem: ASRock Incorporation Device [1849:1204]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:06a3]
Subsystem: ASRock Incorporation Device [1849:06a3]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device [8086:06a4]
Subsystem: ASRock Incorporation Device [1849:06a4]
00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:0d4d]
Subsystem: ASRock Incorporation Device [1849:0d4d]
Kernel driver in use: e1000e
Kernel modules: e1000e
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1f06] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device [1043:872f]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
Subsystem: ASUSTeK Computer Inc. TU106 High Definition Audio Controller [1043:872f]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU106 USB 3.1 Host Controller [10de:1ada] (rev a1)
Subsystem: ASUSTeK Computer Inc. TU106 USB 3.1 Host Controller [1043:872f]
Kernel driver in use: vfio-pci
Kernel modules: xhci_pci
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C Port Policy Controller [10de:1adb] (rev a1)
Subsystem: ASUSTeK Computer Inc. TU106 USB Type-C Port Policy Controller [1043:872f]
Kernel driver in use: vfio-pci
Kernel modules: i2c_nvidia_gpu
02:00.0 Non-Volatile memory controller [0108]: Seagate Technology PLC Device [1bb1:5012] (rev 01)
Subsystem: Seagate Technology PLC Device [1bb1:5012]
Kernel driver in use: nvme
03:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10)
Subsystem: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci


Bin ich so blind? Ich kann mir das gerade nicht erklären und verzweifele nahezu. Wieso friert sogar der ganze Server ein?
 
Last edited:
UPDATE 2:

Nächste Info auf dieser Odyssee :-(

Syslog meldet beim Hochfahren der VM (mit durchgeleiteter USB Karte)

May 18 19:51:19 proxmox kernel: [ 248.613376] perf: interrupt took too long (2567 > 2500), lowering kernel.perf_event_max_sample_rate to 77750

Das ganze System wird langsam und nach dem Herunterfahren der VM lese ich nach 'lspci -v' auf einmal

03:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel driver in use: vfio-pci
Kernel modules: xhci_pci


Was ist denn da nur los? Hat da wirklich keiner eine Idee?
 
So...
Schluss....
Aus....

Meine Lebenszeit ist begrenzt und nach fast 2 Wochen mühevoller Recherche, nervenzehrenden Tests, endloser Frickelei und regelmäßigem Frust gebe ich auf. Ich bin jetzt auf VMWare vSphere gewechselt und siehe da: Alles funktioniert quasi "out of the box". Eine technische Frage auf Reddit wurde mir tatsächlich innerhalb von rekordverdächtigen 30 Minuten beantwortet. Die Proxmox Gemeinde scheint entweder nicht so groß zu sein, oder mit ihren Informationen, aus welchem Grund auch immer, sehr sparsam umzugehen. Schade eigentlich, denn mir hat Proxmox mit dem Mix aus VM und Container echt gut gefallen und war auch einige Zeit im Einsatz. Aber es hilft alles nichts, wenn man vor technischen Herausforderungen allein steht.
Das scheinen auch die wenigen oder nicht vorhandenen Antworten in anderen Threads zu zementieren.
Trotzdem Danke an alle, die mir bis hierhin helfen konnten oder mich mit Tipps versorgten ... und nichts für Ungut.
Von daher ist der Thread für mich sozusagen "solved". :-(
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!