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 Guida passthrough USB

Editorial Team Editorial Team Dec 18, 2019

Se l'accesso ai dispositivi USB dal sistema operativo guest Xen diventa una vera sfida per te, la nostra guida passthrough Xen USB ti aiuterà a risolvere questo problema. In questo articolo troverai semplici descrizioni dei modi più comuni per reindirizzare le periferiche USB alla macchina virtuale Xen.

Che cos'è Xen Hypervisor


Xen è un hypervisor multipiattaforma che supporta una serie di funzionalità avanzate ed è ampiamente utilizzato sia su computer consumer che su server di dati aziendali.

L'hypervisor Xen funziona direttamente sull'hardware del sistema. Ciò che fa è aggiungere un livello di virtualizzazione tra l'hardware del sistema e le macchine virtuali, trasformando l'hardware del sistema in un pool di risorse logiche di elaborazione che possono essere allocate dinamicamente a qualsiasi sistema operativo guest dall'hypervisor. I sistemi operativi in esecuzione in macchine virtuali interagiscono con le risorse virtuali come se fossero risorse fisiche.

Reindirizzare l'hypervisor da USB a Xen
14 giorni di prova gratuita

Una delle caratteristiche principali dell'hypervisor Xen è il supporto per la paravirtualizzazione, una modalità kernel del sistema operativo speciale. Contrariamente all'emulazione di un ambiente separato separato e set di hardware per ogni macchina, tale modalità consente di ottenere prestazioni molto migliori.

Con ciò, la modalità di paravirtualizzazione ha i suoi limiti: sono vietate operazioni privilegiate, incapacità di passare dalla modalità 32 bit a 64 bit e viceversa "al volo", la virtualizzazione hardware del processore non è supportata. Nessuno di questi fattori, tuttavia, può influire in modo significativo sulle prestazioni e sull'usabilità del sistema.


Metodo passthrough Xen USB più efficiente

Non è un problema inoltrare qualsiasi dispositivo USB inserito in un PC host a una macchina virtuale purché si utilizzi uno strumento di virtualizzazione USB specializzato, USB Network Gate.
UNG logo

USB Network Gate

Condividi USB su Ethernet su Windows
4.9 Rango basato su 372+ utenti, Recensioni(372)
Prova gratuita Prova di 14 giorni, Puoi condividere solo 1 dispositivo USB-locale
 USB Network Gate

Basato sulla tecnologia passthrough USB, l'app consente di reindirizzare i dispositivi USB sulla rete (Ethernet, WAN, Internet) rendendoli accessibili da un sistema operativo guest. La soluzione software è disponibile per i sistemi operativi Windows, Linux e Mac e supporta connessioni multipiattaforma.


Ecco come funziona il software:

  1. Installa USB Network Gate su entrambi i sistemi operativi host e guest.

  2. Condividi il dispositivo USB richiesto (fisicamente collegato al PC host) sulla rete.

  3. Avvia l'app sulla tua macchina virtuale e connettiti alla periferica condivisa nell'interfaccia del software.

Una volta connesso, il dispositivo apparirà in Gestione dispositivi del sistema operativo guest come se fosse collegato fisicamente alla macchina virtuale.

USB nel sistema operativo Xen:
possibili opzioni


Nonostante i suoi numerosi vantaggi, la soluzione Xen presenta ancora un grosso inconveniente. Come qualsiasi hypervisor bare metal, Xen ha problemi a reindirizzare le porte USB a un sistema operativo host. Allo stesso tempo, ci sono alcuni modi per ottenere l'accesso a un dispositivo USB da un dominio ospite Xen. Il metodo sopra descrive come farlo con l'aiuto di un software passthrough USB Xenserver, ma parliamo di alcuni metodi "nativi" per accedere anche a USB da Xen.

Collegamento di dispositivi USB

Più comunemente, i dispositivi USB sono specificati dal loro indirizzo bus (bus.device) o dal loro tag dispositivo (vendorid: deviceid).

È possibile elencare i dispositivi USB sul sistema utilizzando il comando lsusb:

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

Ad esempio, se è necessario reindirizzare il mouse Logitech, è possibile specificare 046d: c016 o 1.6.

In genere, i singoli dispositivi host vengono inoltrati a un SO guest tramite un controller di dispositivo USB emulato o PVUSB.

1. Il primo metodo implica che il modello del dispositivo (qemu) presenti un controller USB emulato al guest. Successivamente, il processo del modello del dispositivo prende il controllo del dispositivo dal dominio 0 e trasmette i comandi USB tra il sistema operativo guest e il dispositivo USB host.

Questo metodo può essere utilizzato solo con domini HVM e non è disponibile per domini eseguiti con domini stub modello di dispositivo.

Per quanto riguarda Xen 4.6, xl supporta solo la USB emulata, dal file di configurazione.

You can enable the emulated USB hub by using usb=1. Then, you'll need to specify devices in the list of devices in the config file together with other emulated devices by using host:USBID. For instance:

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

USB 1.1 è il controller USB predefinito creato da qemu. Per alcuni dispositivi, tuttavia, questo non è sufficiente. In tal caso, a partire dalla 4.6, è possibile utilizzare usbversion per specificare anche la versione del controller USB. Tuttavia, attualmente questo non è compatibile con usbdevice , quindi è efficace solo in combinazione con il reindirizzamento USB delle spezie. Questa opzione non è disponibile per qemu-tradizionale.

2. Il secondo metodo, PVUSB, utilizza un'interfaccia front-end / back-end paravirtualizzata, simile alla tradizionale rete Xen PV e ai protocolli del disco.

Per poter utilizzare PVUSB, è necessario usbfront nel sistema operativo guest e si utilizza il backup in dom0 o il backend USB in qemu (o il dominio del driver USB).

Il supporto per PVUSB in xl / libxl (per entrambi i dispositivi PVUSB da file di configurazione e hot plug e un-plug del dispositivo PVUSB) è disponibile da Xen 4.7. Ora funziona con USB 1.1 e USB 2.0.

Ecco cosa dovresti fare per passare i dispositivi USB host al guest con PVUSB:

  • Innanzitutto, dal file di configurazione, specificare i controller USB e i dispositivi host USB utilizzando usbctrl e usbdev. Per esempio:

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

  • Quindi, per tipo è possibile specificare auto (impostazione predefinita: xl tenta di selezionare il tipo più adatto), qusb (backend basato su qemu paravirtualizzato, dovrebbe essere specificato per pvUSB utilizzato dai domini HVM), pv (backend basato su kernel paravirtualizzato, non supportato da Linux standard corrente) o devicemodel (controller USB emulato qemu, non ancora supportato).

    Inoltre, puoi specificare solo usbdev, ad esempio:

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

  • Successivamente, creerà automaticamente un controller USB (versione 2.0) e 8 porte e collegherà il dispositivo USB alla prima porta di questo nuovo controller.

  • Per collegare a caldo e scollegare il dispositivo USB, è possibile utilizzare i comandi usbctrl-attach, usbctrl-detach, usb-list, usbdev-attach and usbdev-detach.

    Per esempio:

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


Accesso ai dispositivi USB in rete

Un altro modo popolare per ottenere l'accesso a un dispositivo USB da un dominio guest Xen è una soluzione di terze parti dedicata che funziona in rete. In questo caso avrai bisogno di un server USB (hardware o software) e un client USB (software). Quest'ultimo è in realtà un driver speciale per il sistema operativo. Ora diamo un'occhiata più da vicino a questo modo semplice ed efficiente per ottenere il supporto passthrough Xen USB nella tua macchina virtuale.

USB Network Gate
Reindirizza i dispositivi USB sulla rete
14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $159.95
Disponibile per