USB Audio Interface durchreichen (Störgeräusche)

pit-prox

New Member
Jun 27, 2023
1
0
1
Bei mir läuft Proxmox VE 8.0.1 auf einem Intel NUC. An diesen sind per USB eine externe Festplatte und ein USB Audio Interface (Zoom H5) angeschlossen. Die Platte wird an eine VM durchgereicht (OMV), das Audio Interface an eine andere (Volumio). Funktioniert auch alles, nur produziert die Volumio VM via Zoom u. daran hängenden aktiven Speakern fiese Störgeräusche. Nun habe ich gelesen, dass das besser läuft, wenn man das Audio Interface als PCI-Device durchreicht.

Frage: Die USB-Ports im Nuc sind ja vermutlich im Nuc an ein PCI-Device gebunden, richtig? Wie kann ich das so durchreichen, dass nur EIN Usb-Port durchgereicht wird? Es sollen ja die anderen USB-Ports für den Host und alle anderen VMs noch zur Verfügung stehen. Ich habe kein tieferes Verständnis über den Zusammenhang zwischen PCI-Geräten, Bus und allem, was da dran hängt. Sorry also für meine laienhaften Fragen.

Die hier [1] empfohlenen Maßnahmen (enable IOMMU & Kernel Modules) habe ich durchgeführt. Weiter unten auf der Seite wird es dann sehr speziell. Da steht z.B.:
If your device has multiple functions (e.g., ‘00:02.0’ and ‘00:02.1’ ), you can pass them through all together with the shortened syntax ``00:02`.
Vielleicht ein Indiz dafür, dass man nicht den kompletten USB-Controller an die VM durchreichen muss, sondern nur das, was für den spezifischen USB-Port zuständig ist? Wie fragt man diese Werte ab (im Beispiel 00:02.0)?

Ein paar Eckdaten zu meinem System:

Bash:
Machine:
  Type: Mini-pc System: Intel Client Systems product: NUC7PJYHN
CPU:
  Info: quad core model: Intel Pentium Silver J5040 b

Bash:
lspci | grep USB
00:15.0 USB controller: Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller (rev 06)

Bash:
lsusb | grep ZOOM
Bus 001 Device 002: ID 1686:0045 ZOOM Corporation Handy Recorder stereo mix

Bash:
lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
    |__ Port 1: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
    |__ Port 3: Dev 2, If 2, Class=Audio, Driver=usbfs, 12M
    |__ Port 3: Dev 2, If 0, Class=Audio, Driver=usbfs, 12M
    |__ Port 3: Dev 2, If 1, Class=Audio, Driver=usbfs, 12M
    |__ Port 9: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 9: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M

Bash:
dmesg -T | grep ZOOM
[Di Jun 27 15:26:29 2023] usb 1-3: Manufacturer: ZOOM Corporation

Bash:
# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
[    0.008847] ACPI: DMAR 0x0000000069CBF290 0000A8 (v01 INTEL  NUC7CJYB 00000003 BRXT 0100000D)
[    0.008907] ACPI: Reserving DMAR table memory at [mem 0x69cbf290-0x69cbf337]
[    0.054785] DMAR: IOMMU enabled
[    0.167837] DMAR: Host address width 39
[    0.167839] DMAR: DRHD base: 0x000000fed64000 flags: 0x0
[    0.167860] DMAR: dmar0: reg_base_addr fed64000 ver 1:0 cap 1c0000c40660462 ecap 9e2ff0505e
[    0.167865] DMAR: DRHD base: 0x000000fed65000 flags: 0x1
[    0.167874] DMAR: dmar1: reg_base_addr fed65000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.167879] DMAR: RMRR base: 0x00000069c3a000 end: 0x00000069c59fff
[    0.167883] DMAR: RMRR base: 0x0000007b800000 end: 0x0000007fffffff
[    0.167887] DMAR-IR: IOAPIC id 1 under DRHD base  0xfed65000 IOMMU 1
[    0.167890] DMAR-IR: HPET id 0 under DRHD base 0xfed65000
[    0.167893] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.169931] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    1.117128] DMAR: No ATSR found
[    1.117130] DMAR: No SATC found
[    1.117132] DMAR: IOMMU feature fl1gp_support inconsistent
[    1.117134] DMAR: IOMMU feature pgsel_inv inconsistent
[    1.117136] DMAR: IOMMU feature nwfs inconsistent
[    1.117137] DMAR: IOMMU feature eafs inconsistent
[    1.117139] DMAR: IOMMU feature prs inconsistent
[    1.117140] DMAR: IOMMU feature nest inconsistent
[    1.117141] DMAR: IOMMU feature mts inconsistent
[    1.117143] DMAR: IOMMU feature sc_support inconsistent
[    1.117144] DMAR: IOMMU feature dev_iotlb_support inconsistent
[    1.117146] DMAR: dmar0: Using Queued invalidation
[    1.117151] DMAR: dmar1: Using Queued invalidation
[    1.119695] DMAR: Intel(R) Virtualization Technology for Directed I/O

[1] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough
 

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!