Electronic Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Xen USB-Passthrough-Anleitung

Editorial Team Editorial Team Mar 26, 2020

Wenn der Zugriff auf USB-Geräte von Ihrem Xen-Gastbetriebssystem aus eine echte Herausforderung für Sie darstellt, hilft Ihnen unser Xen USB-Passthrough-Handbuch bei der Lösung dieses Problems. In diesem Artikel finden Sie einfache Beschreibungen der gängigsten Methoden zum Umleiten von USB-Peripheriegeräten zur virtuellen Xen-Maschine.

Was ist Xen Hypervisor?


Xen ist ein plattformübergreifender Hypervisor, der eine Vielzahl erweiterter Funktionen unterstützt und sowohl auf Computern für Endverbraucher als auch auf Unternehmensdatenservern weit verbreitet ist.

Xen Hypervisor funktioniert direkt auf der Systemhardware. Dadurch wird eine Virtualisierungsebene zwischen der Systemhardware und den virtuellen Maschinen hinzugefügt, wodurch die Systemhardware in einen Pool logischer Computerressourcen umgewandelt wird, die vom Hypervisor dynamisch jedem Gastbetriebssystem zugewiesen werden können. Betriebssysteme, die in virtuellen Maschinen ausgeführt werden, interagieren mit virtuellen Ressourcen, als wären sie physische Ressourcen.

Leiten Sie USB zu Xen Hypervisor um
14 Tage kostenlose Testversion

Eine der Hauptfunktionen von Xen Hypervisor ist die Unterstützung der Paravirtualisierung, einem speziellen Betriebssystem-Kernel-Modus. Im Gegensatz zur Emulation einer separaten isolierten Umgebung und eines separaten Hardwaresatzes für jede Maschine können Sie in diesem Modus eine viel bessere Leistung erzielen.

Damit hat der Paravirtualisierungsmodus seine Grenzen: Privilegierte Operationen sind verboten, die Unfähigkeit, vom 32-Bit- in den 64-Bit-Modus zu wechseln und umgekehrt, die Hardware-Virtualisierung des Prozessors wird nicht unterstützt. Keiner dieser Faktoren kann jedoch die Leistung und Benutzerfreundlichkeit des Systems wesentlich beeinflussen.


Die effizienteste Xen USB-Passthrough-Methode

Es ist kein Problem, ein in einen Host-PC eingestecktes USB-Gerät an eine virtuelle Maschine weiterzuleiten, solange Sie ein spezielles USB-Virtualisierungstool, USB Network Gate, verwenden.
UNG logo

USB Network Gate

Teilen Sie USB über Ethernet unter Windows
4.9 Rang basierend auf 372+ Nutzer, Bewertungen(372)
Kostenlos testen 14 Tage Testzeit, Nur ein lokales USB-Gerät kann freigegeben werden
 USB Network Gate

Basierend auf der USB-Passthrough-Technologie können mit der App USB-Geräte über das Netzwerk (Ethernet, WAN, Internet) umgeleitet werden, sodass sie von einem Gastbetriebssystem aus zugänglich sind. Die Softwarelösung ist für Windows-, Linux- und Mac-Betriebssysteme verfügbar und unterstützt plattformübergreifende Verbindungen.


So funktioniert die Software:

  1. Sie installieren USB Network Gate sowohl auf Ihrem Host- als auch auf Ihrem Gastbetriebssystem.

  2. Geben Sie das erforderliche USB-Gerät (physisch mit dem Host-PC verbunden) über das Netzwerk frei.

  3. Starten Sie die App auf Ihrer virtuellen Maschine und stellen Sie eine Verbindung zum freigegebenen Peripheriegerät in der Softwareschnittstelle her.

Sobald die Verbindung hergestellt ist, wird das Gerät im Geräte-Manager Ihres Gastbetriebssystems so angezeigt, als wäre es physisch an die virtuelle Maschine angeschlossen.

USB in Xen OS: Mögliche Optionen


Trotz ihrer vielen Vorteile hat die Xen-Lösung immer noch einen großen Nachteil. Wie bei jedem Bare-Metal-Hypervisor hat Xen Probleme, USB-Anschlüsse auf ein Host-Betriebssystem umzuleiten. Gleichzeitig gibt es einige Möglichkeiten, über eine Xen-Gastdomäne auf ein USB-Gerät zuzugreifen. Die obige Methode beschreibt, wie dies mithilfe einer Xenserver USB-Passthrough-Software durchgeführt wird. Lassen Sie uns jedoch einige "native" Methoden für den Zugriff auf USB auch von Xen aus erläutern.

Anschließen von USB-Geräten

Am häufigsten werden USB-Geräte entweder durch ihre Busadresse (bus.device) oder ihre Gerätekennzeichnung (vendorid: deviceid) angegeben.

Sie können die USB-Geräte im System mit dem Befehl lsusb auflisten:

Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 002: ID f617:0905
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0424:2640 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 005: ID 0424:4060 Standard Microsystems Corp. Ultra Fast Media Reader
Bus 001 Device 006: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse

Wenn Sie beispielsweise die Logitech-Maus umleiten müssen, können Sie entweder 046d: c016 oder 1.6 angeben.

In der Regel werden einzelne Hostgeräte entweder über einen emulierten USB-Gerätecontroller oder PVUSB an ein Gastbetriebssystem weitergeleitet.

1. Die erste Methode impliziert, dass das Gerätemodell (qemu) dem Gast einen emulierten USB-Controller präsentiert. Danach übernimmt der Gerätemodellprozess die Kontrolle über das Gerät von Domäne 0 und überträgt die USB-Befehle zwischen dem Gastbetriebssystem und dem Host-USB-Gerät.

Diese Methode kann nur mit HVM-Domänen verwendet werden und ist nicht für Domänen verfügbar, die mit Stub-Domänen des Gerätemodells ausgeführt werden.

In Bezug auf Xen 4.6, xl unterstützt nur den emulierten USB aus der Konfigurationsdatei.

Sie können den emulierten USB-Hub mit usb = 1 aktivieren. Anschließend müssen Sie Geräte in der Liste der Geräte in der Konfigurationsdatei zusammen mit anderen emulierten Geräten mithilfe von host: USBID angeben. Zum Beispiel:

usb=1
usbdevice=['tablet','host:1.6','host:0424:460']

USB 1.1 ist der von qemu erstellte Standard-USB-Controller. Für einige Geräte ist dies jedoch nicht ausreichend. In einem solchen Fall können Sie ab 4.6 usbversion verwenden, um auch die USB-Controller-Version anzugeben. Derzeit ist dies jedoch nicht mit usbdevice kompatibel und daher nur in Verbindung mit der Gewürz-USB-Umleitung effizient. Diese Option ist für qemu-traditional nicht verfügbar.

2. Die zweite Methode, PVUSB, verwendet eine paravirtualisierte Front-End / Back-End-Schnittstelle, ähnlich den herkömmlichen Xen PV-Netzwerk- und Festplattenprotokollen.

Um PVUSB verwenden zu können, benötigen Sie usbfront in Ihrem Gastbetriebssystem und usbback in dom0 oder usb backend in qemu (oder Ihrer USB-Treiberdomäne).

Die Unterstützung für PVUSB in xl / libxl (sowohl für PVUSB-Geräte aus der Konfigurationsdatei als auch für Hot-Plug- und Un-Plug-Vorgänge für PVUSB-Geräte) ist seit Xen 4.7 verfügbar. Jetzt funktioniert es mit USB 1.1 und USB 2.0.

Folgendes sollten Sie tun, um mit PVUSB über Host-USB-Geräte an den Gast zu gelangen:

  • Geben Sie zunächst in der Konfigurationsdatei USB-Controller und USB-Hostgeräte an usbctrl und usbdev. Zum Beispiel:

    usbctrl=['type=qusb,version=2,ports=4', 'type=qusb,version=1, ports=4', ]
    usbdev=['hostbus=2, hostaddr=1, controller=0,port=1', ]

  • Dann können Sie für den Typ auto angeben (Standard: xl versucht, den am besten geeigneten Typ auszuwählen), qusb (paravirtualisiertes qemu-basiertes Backend, sollte für von HVM-Domänen verwendetes pvUSB angegeben werden), pv (paravirtualisiertes kernelbasiertes Backend, nicht unterstützt von) aktuelles Standard-Linux) oder Devicemodel (qemu emulierter USB-Controller, noch nicht unterstützt).

    Außerdem können Sie nur usbdev angeben, zum Beispiel:

    usbdev=['hostbus=2, hostaddr=1, ]

  • Danach werden automatisch ein USB-Controller (Version 2.0) und 8 Ports erstellt und das USB-Gerät an den ersten Port dieses neuen Controllers angeschlossen.

  • Um das PVUSB-Gerät im Hot-Plug-Modus zu entfernen und zu entfernen, können Sie die Befehle usbctrl-attach, usbctrl-attach, usb-list, usbdev-attach und usbdev-separate verwenden.

    Zum Beispiel:

    #xl usbctrl-attach test_vm version=1 ports=8


Zugriff auf USB-Geräte über das Netzwerk

Eine weitere beliebte Möglichkeit, über eine Xen-Gastdomäne auf ein USB-Gerät zuzugreifen, ist eine dedizierte Drittanbieterlösung, die über das Netzwerk funktioniert. In diesem Fall benötigen Sie einen USB-Server (Hardware oder Software) und einen USB-Client (Software). Letzteres ist eigentlich ein spezieller Treiber für das Betriebssystem. Schauen wir uns nun diese einfache und effiziente Methode genauer an, um Xen USB-Passthrough-Unterstützung in Ihrer virtuellen Maschine zu erhalten.

USB Network Gate
USB-Geräte über das Netzwerk umleiten
14-tägige kostenlose Testversion verfügbar
Der Lizenzpreis beginnt bei $159.95
Verfügbar für