Probleme mit PCI Passthrough

Fraflo

Member
Mar 2, 2020
22
0
6
69
Hallo liebe Forengemeinde,
leider beschäftigt mich das Problem meines Homelabs mit dem Durchreichen der PCI Karten in Proxmox schon seit 3 Tagen.
Lese sämtliche Beiträge hier im Forum und auch anderwertig und konnte aber noch keinen Lösungsansatz finden.
Daher eine bitte an euch um mir weiter zu helfen.

https://www.thomas-krenn.com/de/wiki/Proxmox_PCIe_Passthrough_aktivieren
https://pve.proxmox.com/wiki/PCI(e)_Passthrough

Mein System ist ein AMD - Ryzen 5 3600 Prozessor, ein Asrock - X570M Pro4 Mainboard;
Im Bios wurde IOMMU aktiviert.



Hinzugefügt aus dem Beispiel bei einem AMD System: GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
Aktualisieren Sie anschließend mit update-grub die Grub Konfiguration:

update-grub

Kernel Module ergänzen​


Bearbeiten Sie die Datei /etc/modules als root Benutzer mit Schreibrechten:

root@pve:~# vi /etc/modules
Ergänzen Sie die Kernel Module und speichern Sie die Datei ab:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Initramfs aktualisieren

Als letzten Schritt aktualisieren Sie noch das Initramfs:

root@pve:~# update-initramfs -u -k all

Neustart durchgeführt​

root@pve:~# dmesg |grep -e DMAR -e IOMMU -e AMD-Vi
[ 0.591303] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.594631] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[ 0.594631] pci 0000:00:00.2: AMD-Vi: Extended features (0x58f77ef22294ade):
[ 0.594635] AMD-Vi: Interrupt remapping enabled
[ 0.594635] AMD-Vi: Virtual APIC enabled
[ 0.594635] AMD-Vi: X2APIC enabled
[ 0.594785] AMD-Vi: Lazy IO/TLB flushing enabled
[ 0.595983] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
root@pve:~#
root@pve:~# lsmod | grep vfio
vfio_pci 53248 0
vfio_virqfd 16384 1 vfio_pci
irqbypass 16384 2 vfio_pci,kvm
vfio_iommu_type1 32768 0
vfio 32768 2 vfio_iommu_type1,vfio_pci

Ausführliche Ausgabe des lspci -v Kommandos für mehr Details:
root@pve:~# lspci -s 04:00.0 -v
04:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
Subsystem: ASRock Incorporation I211 Gigabit Network Connection
Flags: bus master, fast devsel, latency 0, IRQ 38
Memory at fc900000 (32-bit, non-prefetchable) [size=128K]
I/O ports at e000
Memory at fc920000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 70-85-c2-ff-ff-fc-82-34
Capabilities: [1a0] Transaction Processing Hints
Kernel driver in use: igb
Kernel modules: igb

Ausführliche Ausgabe des lspci -v Kommandos für mehr Details:
root@pve:~# lspci -s 03:00.0 -v
03:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
Subsystem: Intel Corporation PRO/1000 PT Dual Port Server Adapter
Flags: bus master, fast devsel, latency 0, IRQ 40
Memory at fcaa0000 (32-bit, non-prefetchable) [size=128K]
Memory at fca80000 (32-bit, non-prefetchable) [size=128K]
I/O ports at f020
Expansion ROM at fca60000 [disabled] [size=128K]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-15-17-ff-ff-80-b5-0e
Kernel driver in use: e1000e
Kernel modules: e1000e

Ausführliche Ausgabe des lspci -v Kommandos für mehr Details:
root@pve:~# lspci -s 03:00.1 -v
03:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
Subsystem: Intel Corporation PRO/1000 PT Dual Port Server Adapter
Flags: bus master, fast devsel, latency 0, IRQ 101
Memory at fca40000 (32-bit, non-prefetchable) [size=128K]
Memory at fca20000 (32-bit, non-prefetchable) [size=128K]
I/O ports at f000
Expansion ROM at fca00000 [disabled] [size=128K]
Capabilities: [c8] Power Management version 2
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [e0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-15-17-ff-ff-80-b5-0e
Kernel driver in use: e1000e
Kernel modules: e1000e

Funktion prüfen​

Eine Funktionsprüfung zeigt, ob die Netzwerkkarte auch korrekt funktioniert
Mit dem Befehl ethtool enp4s0 command not found, ebsenso mit NIC's enp3s0f1 und enp3s0f0
Installation des ethtool mit apt install ethtool -command not found

PCI Device zur VM hinzufügen​

Wechseln Sie zur Sektion Hardware der VM Konfiguration im Proxmox Webinterface und befolgen Sie nun den Schritten in den abgebildeten Screenshots.
1, angefügtes pdf mit Fehlermeldung
2, angefügtes pdf mit den Netzwerkarten ( 03.00.00 + 03:00.01 ist eine eigene Pci Karte) die 04:00.0 - Asrock - X570M Pro4 Mainboard


Ich bin mit meinem Latein schon am Ende, falls ihr noch etwaige Auflistungen benötigt einfach melden!
Danke im Voraus
Franz
 

Attachments

hi,

1. es sieht so aus als wäre die karte noch nicht mit dem vfio treiber geladen (siehe https://pve.proxmox.com/wiki/PCI(e)_Passthrough#_host_device_passthrough )
(sieht man, da bei 'kernel driver in use' 'igb' steht statt 'vfio-pci')
2. die fehlermeldung sagt doch recht gut was das problem ist: nur der user root@pam darf pci passthrough konfigurieren
 
hi,

1. es sieht so aus als wäre die karte noch nicht mit dem vfio treiber geladen (siehe https://pve.proxmox.com/wiki/PCI(e)_Passthrough#_host_device_passthrough )
(sieht man, da bei 'kernel driver in use' 'igb' steht statt 'vfio-pci')
2. die fehlermeldung sagt doch recht gut was das problem ist: nur der user root@pam darf pci passthrough konfigurieren
Danke für die Info!
Ich hatte die Rechte des Root Users deaktiviert,
und einen anderen Namen als Root hinterlegt und ihn alle Root Rechte eingeräumt!
Mit sudo - i , war ich dann wieder als Root angemeldet! Kann das den Fehler ausgelöst haben?
Danke
LG
 
Warum machst du sowas?
ja aus Sicherheitsgründen.
Hab jetzt nochmals alles aufgesetzt und mich mit Root angemeldet und konnte problemlos die PCI NIC's hinzufügen!
Erstellte eine Vm (pfsense) und es kam ein Verbindugsfehler! Erstelle ich einen LXC Container funktioniert alles .
Schön langsam bin ich am verzweifeln.. was mache ich falsch???
 
Erstens benötigt proxmox den root User zweitens hat das nichts mit Sicherheit Zutun.
Sag doch mal mehr über das Projekt ggf. Können wir dann auch helfen
 
Erstens benötigt proxmox den root User zweitens hat das nichts mit Sicherheit Zutun.
Sag doch mal mehr über das Projekt ggf. Können wir dann auch helfen
Ich möchte eine VM erstellen um Pfsense zu installieren hab eine Netzwerkarte mit 2 Nic's und eine Onboard.
Mein System ist ein AMD - Ryzen 5 3600 Prozessor, ein Asrock - X570M Pro4 Mainboard;
Im Bios wurde IOMMU aktiviert. https://www.thomas-krenn.com/de/wiki/Proxmox_PCIe_Passthrough_aktivieren
Beim starten der VM bekomme ich einen Verbindungsfehler, bei LXC gehts.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@pve:~# pveversion -v
proxmox-ve: 6.2-2 (running kernel: 5.4.65-1-pve)
pve-manager: 6.2-14 (running version: 6.2-14/2001b502)
pve-kernel-5.4: 6.2-7
pve-kernel-helper: 6.2-7
pve-kernel-5.4.65-1-pve: 5.4.65-1
pve-kernel-5.4.34-1-pve: 5.4.34-2
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.4-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.16-pve1
libproxmox-acme-perl: 1.0.5
libpve-access-control: 6.1-3
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.2-2
libpve-guest-common-perl: 3.1-3
libpve-http-server-perl: 3.0-6
libpve-storage-perl: 6.2-9
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.3-1
lxcfs: 4.0.3-pve3
novnc-pve: 1.1.0-1
proxmox-backup-client: 0.9.4-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.3-6
pve-cluster: 6.2-1
pve-container: 3.2-2
pve-docs: 6.2-6
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-3
pve-firmware: 3.1-3
pve-ha-manager: 3.1-1
pve-i18n: 2.2-2
pve-qemu-kvm: 5.1.0-3
pve-xtermjs: 4.7.0-2
qemu-server: 6.2-17
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 0.8.4-pve2
root@pve:~#
 
Willst du die netzwerkkarte durchreichen oder warum hast du im Bios IOMMU aktiviert
 
Ok und warum so kompliziert? Mach doch Hardware mäßig einfach zwei netzwerkkarten über proxmox die getrennt sind. Noch was ist das ein hetzner Server?
 
Ok und warum so kompliziert? Mach doch Hardware mäßig einfach zwei netzwerkkarten über proxmox die getrennt sind. Noch was ist das ein hetzner Server?
Eine Netzwerkarte ist ja eh getrennt! Sie hat die 2 Lan Anschlüsse. Der andere Lan wie gesagt Onboard!
Kein Hetzner S.
 
Machst du vmbr0 und vmbr1 und fertig, wenn du eine der karten druchreichst dann hast du die nur für die Kiste und keine andere VM kann diese nutzen.

Heißt wenn du beide an deine VM gibst hast du keine mehr für Proxmox oder für andere VMs.
 
Machst du vmbr0 und vmbr1 und fertig, wenn du eine der karten druchreichst dann hast du die nur für die Kiste und keine andere VM kann diese nutzen.

Heißt wenn du beide an deine VM gibst hast du keine mehr für Proxmox oder für andere VMs.
Danke dir für die Information!
Hab‘s leider trotzdem nicht zusammen gebracht!
 
hi,

1. es sieht so aus als wäre die karte noch nicht mit dem vfio treiber geladen (siehe https://pve.proxmox.com/wiki/PCI(e)_Passthrough#_host_device_passthrough )
(sieht man, da bei 'kernel driver in use' 'igb' steht statt 'vfio-pci')
2. die fehlermeldung sagt doch recht gut was das problem ist: nur der user root@pam darf pci passthrough konfigurieren
Hallo, hab mich durch die Anleitung durchgearbeitet aber es steht noch immer kernel in use igb bzw. Kernel driver in use: e1000e.
Habe mir eine conf in der /etc/modprobe.d/ erstellt und die Zeile mit meinen ids eingetragen: options vfio-pci ids=xxx:5678,4321:8765
Leider ohne Erfolg, kannst du mir bitte noch weiter helfen? Danke
 
Machst du vmbr0 und vmbr1 und fertig, wenn du eine der karten druchreichst dann hast du die nur für die Kiste und keine andere VM kann diese nutzen.

Heißt wenn du beide an deine VM gibst hast du keine mehr für Proxmox oder für andere VMs.
Hallo Pakuzaz,
kannst du mir bitte das schreiben wie man das macht. Danke
 
Rechenzentrum -> Knoten -> ProxmoxServer -> Netzwerk

Da sollteste du deine Netzwerkkarten sehen sowie min eine Vmbr0 so und nun oben auf erstellen eine neue Bridge anlegen und die 2te netzwerk karte als Interface angeben. Fertig

Beachte du kannst du von einer vmbr deine Gui erreichen.
 
Rechenzentrum -> Knoten -> ProxmoxServer -> Netzwerk

Da sollteste du deine Netzwerkkarten sehen sowie min eine Vmbr0 so und nun oben auf erstellen eine neue Bridge anlegen und die 2te netzwerk karte als Interface angeben. Fertig

Beachte du kannst du von einer vmbr deine Gui erreichen.
Danke Pakuzaz, hab jetzt ne vmbr1 erstellt aber ich sehe kein Interface im Fenster nur Bridge Ports ..
 

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!