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.

Guia de passagem USB do Xen

Editorial Team Editorial Team Mar 26, 2020

Se o acesso a dispositivos USB a partir do seu sistema operacional convidado Xen se tornar um verdadeiro desafio para você, nosso guia de transmissão USB Xen o ajudará a resolver esse problema. Neste artigo, você encontrará descrições simples das maneiras mais comuns de redirecionar periféricos USB para a máquina virtual Xen.

O que é o Xen Hypervisor


O Xen é um hipervisor multiplataforma que suporta vários recursos avançados e é amplamente usado em computadores de consumo e servidores de dados corporativos.

O hipervisor Xen trabalha diretamente no hardware do sistema. O que ele faz é adicionar uma camada de virtualização entre o hardware e as máquinas virtuais do sistema, transformando o hardware do sistema em um conjunto de recursos lógicos de computação que podem ser alocados dinamicamente a qualquer sistema operacional convidado pelo hipervisor. Os sistemas operacionais em execução em máquinas virtuais interagem com recursos virtuais como se fossem recursos físicos.

Redirecionar USB para Xen Hypervisor
Teste gratuito de 14 dias

Um dos principais recursos do hypervisor Xen é o suporte à paravirtualização, um modo especial do kernel do SO. Ao contrário da emulação de um ambiente isolado separado e conjunto de hardware para cada máquina, esse modo permite obter um desempenho muito melhor.

Com isso, o modo de paravirtualização tem suas limitações: operações privilegiadas são proibidas, incapacidade de alternar do modo de 32 bits para 64 bits e vice-versa 'on the fly', a virtualização de hardware do processador não é suportada. Nenhum desses fatores, no entanto, pode afetar significativamente o desempenho e a usabilidade do sistema.


Método de passagem Xen USB mais eficiente

Não é um problema encaminhar qualquer dispositivo USB inserido em um PC host para uma máquina virtual, desde que você use uma ferramenta especializada de virtualização USB, o USB Network Gate.
UNG logo

USB Network Gate

Compartilhe USB sobre Ethernet no Windows
4.9 Classificação baseado em 372+ usuários, Сomentários(372)
Teste Grátis 14 dias de teste, Você pode compartilhar apenas 1 dispositivo USB local
 USB Network Gate

Com base na tecnologia de passagem USB, o aplicativo permite redirecionar dispositivos USB pela rede (Ethernet, WAN, Internet), tornando-os acessíveis a partir de um sistema operacional convidado. A solução de software está disponível para sistemas operacionais Windows, Linux e Mac e suporta conexões de plataforma cruzada.


É assim que o software funciona:

  1. Você instala o USB Network Gate nos sistemas operacionais host e convidado.

  2. Compartilhe o dispositivo USB necessário (fisicamente conectado ao PC host) pela rede.

  3. Inicie o aplicativo na sua máquina virtual e conecte-se ao periférico compartilhado na interface do software.

Uma vez conectado, o dispositivo aparecerá no Gerenciador de dispositivos do sistema operacional convidado como se estivesse fisicamente conectado à máquina virtual.

USB no Xen OS: opções possíveis


Apesar de suas muitas vantagens, a solução Xen ainda tem uma grande desvantagem. Como qualquer hipervisor bare metal, o Xen tem problemas para redirecionar as portas USB para um sistema operacional host. Ao mesmo tempo, existem algumas maneiras de obter acesso a um dispositivo USB de um domínio convidado do Xen. O método acima descreve como fazer isso com a ajuda de um software de passagem USB Xenserver, mas vamos falar sobre alguns métodos "nativos" para acessar o USB do Xen também.

Conectando dispositivos USB

Geralmente, os dispositivos USB são especificados pelo endereço do barramento (bus.device) ou pela etiqueta do dispositivo (vendorid: deviceid).

Você pode listar os dispositivos USB no sistema usando o 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

Por exemplo, se você precisar redirecionar o mouse Logitech, poderá especificar 046d: c016 ou 1.6.

Normalmente, os dispositivos host individuais são encaminhados para um SO convidado por meio de um controlador de dispositivo USB emulado ou PVUSB.

1. O primeiro método implica que o modelo do dispositivo (qemu) apresenta um controlador USB emulado ao convidado. Depois disso, o processo de modelo do dispositivo assume o controle do dispositivo a partir do domínio 0 e transmite os comandos USB entre o sistema operacional convidado e o dispositivo USB host.

Esse método pode ser usado apenas com domínios HVM e não está disponível para domínios executados com domínios stub de modelo de dispositivo.

Quanto ao Xen 4.6, o xl suporta apenas o USB emulado, a partir do arquivo de configuração.

Você pode ativar o hub USB emulado usando usb=1 . Em seguida, você precisará especificar dispositivos na lista de dispositivos no arquivo de configuração junto com outros dispositivos emulados usandohost:USBID. Por exemplo:

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

USB 1.1 é o controlador USB padrão criado pelo qemu. Para alguns dispositivos, no entanto, isso não é suficiente. Nesse caso, começando com 4.6, você pode usar usbversion para especificar também a versão do controlador USB. No entanto, atualmente isso não é compatível com o usbdevice e, portanto, só é eficiente em conjunto com o redirecionamento USB de especiarias. Esta opção não está disponível para qemu tradicional.

2. O segundo método, o PVUSB, usa uma interface front-end / back-end paravirtualizada, semelhante à rede tradicional Xen PV e aos protocolos de disco.

Para poder usar o PVUSB, é necessário o usbfront no sistema operacional convidado e o usbback no dom0 ou o backend usb no qemu (ou no domínio do driver USB).

O suporte ao PVUSB no xl / libxl (para o dispositivo PVUSB do arquivo de configuração e para o dispositivo PVUSB hot-plug e un-plug) está disponível desde o Xen 4.7. Agora, ele funciona com USB 1.1 e USB 2.0.

Aqui está o que você deve fazer para passar pelos dispositivos USB host para o convidado com PVUSB:

  • Primeiro, no arquivo de configuração, especifique controladores USB e dispositivos host USB usando usbctrl e usbdev. Por exemplo:

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

  • Em seguida, para o tipo, você pode especificar auto (o padrão: xl tenta selecionar o tipo mais adequado), qusb (back-end baseado em qemu paravirtualizado, deve ser especificado para pvUSB usado por domínios HVM), pv (back-end baseado em kernel paravirtualizado, não suportado por linux padrão atual) ou devicemodel (controlador USB emulado qemu, ainda não suportado).

    Além disso, você pode especificar apenas usbdev, por exemplo:

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

  • Depois disso, ele cria um controlador USB (versão 2.0) e 8 portas automaticamente e conecta o dispositivo USB à primeira porta desse novo controlador.

  • Para conectar e desconectar o dispositivo PVUSB, você pode usar os comandos usbctrl-attach, usbctrl-destacável, lista usb, usbdev-attach e usbdev-destacado .

    Por exemplo:

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


Acessando dispositivos USB pela rede

Outra maneira popular de obter acesso a um dispositivo USB a partir de um domínio convidado Xen é uma solução dedicada de terceiros que trabalha pela rede. Nesse caso, você precisará de um servidor USB (hardware ou software) e um cliente USB (software). Este último é realmente um driver especial para o sistema operacional. Agora, vamos analisar mais de perto essa maneira simples e eficiente de obter suporte de passagem USB Xen em sua máquina virtual.

USB Network Gate
Redirecionar dispositivos USB pela rede
Teste Gratuito de 14 dias disponível
O preço da licença começa em $159.95
Disponível para