Passagem USB para o QEMU recebe erro “qemu: não foi possível adicionar o dispositivo USB”

1

Ao tentar executar o arch linux com um repasse de usb usando o qemu no meu macbook pro retina 2015, executando o osx Yosemite 10.10., usando o comando:

sudo qemu-system-i386 -cpu core2duo -cdrom archlinux-2015.11.01-dual.iso -boot order=d -m 1G -usbdevice host:0x13fe:0x5500

Continuo recebendo o erro:

qemu: could not add USB device 'host:0x13fe:0x5500'

Enquanto, nas informações do sistema, o dispositivo USB tem o ID do fornecedor "0x13fe" e o ID do produto "0x5500".

Eu obtenho o mesmo fornecedor e id de produto usando o codeblock (no bash)

'system_profiler SPUSBDataType     | awk '
      /Product ID:/{p=$3}
      /Vendor ID:/{v=$3}
      /Manufacturer:/{sub(/.*: /,""); m=$0}
      /Location ID:/{sub(/.*: /,""); printf("%s:%s %s (%s)\n", v, p, $0, m);}
    '
'

Na documentação do qemu , diz que o formulário correto para passar por um USB é

host:vendor_id:product_id

Então, acredito que estou fazendo isso corretamente.

Estou executando o qemu 2.4.0.1

Estou fazendo algo errado aqui?

    
por underscore 26.11.2015 / 01:17

2 respostas

3

Não sei por que você está recebendo esse erro, mas você mal gostaria de usar -usbdevice , já que ele só pode anexar um dispositivo no modo "velocidade máxima" (12M), mesmo que seja um dispositivo de "alta velocidade" (480M) no lado do host:

Elepodenemfuncionarsevocêestiveranexandoumdispositivo"superspeed" (5000M) (xHCI ativado no lado do host):

Então,vocêdesejariaaabordagemmaismodernaegenéricade-deviceusb-host,comumcontroladordehostemuladodesuaescolha(porexemplo,-devicenec-usb-xhci):

Tambémdevefuncionarparadispositivosde"alta velocidade" (480M):

bemcomodispositivos"full-speed" (12M):

Possíveisescolhasdocontroladordehostemuladosão:

[tom@localhost~]$qemu-system-x86_64-devicehelp|&grepusb.*hciname"ich9-usb-ehci1", bus PCI
name "ich9-usb-ehci2", bus PCI
name "ich9-usb-uhci1", bus PCI
name "ich9-usb-uhci2", bus PCI
name "ich9-usb-uhci3", bus PCI
name "ich9-usb-uhci4", bus PCI
name "ich9-usb-uhci5", bus PCI
name "ich9-usb-uhci6", bus PCI
name "nec-usb-xhci", bus PCI
name "piix3-usb-uhci", bus PCI
name "piix4-usb-uhci", bus PCI
name "usb-ehci", bus PCI
name "vt82c686b-usb-uhci", bus PCI

[tom@localhost ~]$ qemu-system-x86_64 -device help |& grep ohci
name "pci-ohci", bus PCI, desc "Apple USB Controller"
name "sysbus-ohci", bus System, desc "OHCI USB Controller"

nec-usb-xhci deve funcionar melhor e bem na maioria dos casos.

Btw, também existem outras formas diferentes de vendorid + productid para especificar qual dispositivo você deseja anexar com -device usb-host . Por exemplo, hostbus + hostaddr :

Ou,hostbus+hostport:

Quesãoúteisquandoháváriosdispositivosdomesmomodelonosistema.

Ref.: link

    
por 16.05.2016 / 12:07
0

Eu tive o mesmo problema no meu laptop. Você pode usar -hdb /dev/sdb em vez de -usb -usbdevice ... da seguinte forma:

sudo qemu-system-i386 ubuntu16.img --enable-kvm -monitor stdio -m 2048 -hdb /dev/sdb -vga cirrus -vnc :0
    
por 13.05.2016 / 11:36