O dispositivo USB3 não está funcionando corretamente na VM virtualbox do ubuntu - executando no host do Windows 7

0

Eu tenho um HP ProDesk executando o Windows 7 Pro de 64 bits com 2 slots USB3 na frente.

Estou tentando usar um ettus B210 USRP (hardware de rádio) com uma interface USB3. Eu instalei todos os drivers corretamente para o B210 e posso carregar uma imagem para ele e ver se o dispositivo está funcionando bem.

Agora criei uma VM 16.04.01 de 32 bits do ubuntu no VirtualBox. Eu tenho extensões e edições de convidado instaladas. Eu tenho suporte a USB3 na minha VM (usando o controlador xHCI). Eu adicionei os filtros USB apropriados.

Nota: quando você conecta o B210, ele começa a vida como um dispositivo USB2 e então você carrega seu FPGA e ele se torna um dispositivo USB3 e eu tive que filtrar ambos ...

Eu tenho os seguintes cenários:

  1. B210 desconectado. Inicie a VM. Plugin B210. Carregar FPGA - Falha ao ver o dispositivo USB3
  2. B210 conectado. Carregar FPGA (no Windows). Inicie a VM. Agora eu posso ver o dispositivo B210 e conectar-se a ele sem problemas.

Aqui está a saída (do dmesg) de uma conexão com falha para o dispositivo (no ubuntu VM):

Plugin B200:
[  579.218931] usb 1-2: new high-speed USB device number 4 using xhci_hcd
[  579.611750] usb 1-2: New USB device found, idVendor=2500, idProduct=0020
[  579.611756] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  579.611760] usb 1-2: Product: WestBridge 
[  579.611763] usb 1-2: Manufacturer: Cypress
[  579.611766] usb 1-2: SerialNumber: 0000000004BE

Run uhd_find_devices (loads /usr/share/uhd/images/usrp_b200_fw.hex onto the B200 FPGA):
[  607.102592] usb 1-2: USB disconnect, device number 4
[  607.331079] usb 2-1: new SuperSpeed USB device number 22 using xhci_hcd
[  607.351323] usb 2-1: device descriptor read/8, error -32
[  607.456984] usb 2-1: new SuperSpeed USB device number 22 using xhci_hcd
[  607.478428] usb 2-1: device descriptor read/8, error -32
[  607.745418] usb 2-1: new SuperSpeed USB device number 23 using xhci_hcd
[  607.770742] usb 2-1: device descriptor read/8, error -32
[  607.880457] usb 2-1: new SuperSpeed USB device number 23 using xhci_hcd
[  607.902458] usb 2-1: device descriptor read/8, error -32
[  608.177335] usb 2-1: new SuperSpeed USB device number 24 using xhci_hcd
[  608.201764] usb 2-1: device descriptor read/8, error -32
[  608.308507] usb 2-1: new SuperSpeed USB device number 24 using xhci_hcd
[  608.329545] usb 2-1: device descriptor read/8, error -32
[  608.597751] usb 2-1: new SuperSpeed USB device number 25 using xhci_hcd
[  608.618684] usb 2-1: device descriptor read/8, error -32
[  608.724399] usb 2-1: new SuperSpeed USB device number 25 using xhci_hcd
[  608.744616] usb 2-1: device descriptor read/8, error -32
[  608.880008] usb usb2-port1: unable to enumerate USB device
[  608.880061] xhci_hcd 0000:00:0c.0: Stop endpoint command completion for disabled slot 2

Você pode obter usb 2-1: device descriptor read/8, error -32 - acho que isso é algum tipo de problema de energia.

Aqui está a saída de dmesg | grep usb após a inicialização quando o Windows pré-configurou o dispositivo:

openbts@openbts:~$ dmesg | grep usb
[    0.421941] usbcore: registered new interface driver usbfs
[    0.421948] usbcore: registered new interface driver hub
[    0.421996] usbcore: registered new device driver usb
[    1.103271] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.103272] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.103273] usb usb1: Product: xHCI Host Controller
[    1.103274] usb usb1: Manufacturer: Linux 4.10.0-40-generic xhci-hcd
[    1.103275] usb usb1: SerialNumber: 0000:00:0c.0
[    1.108161] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    1.108161] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.108162] usb usb2: Product: xHCI Host Controller
[    1.108163] usb usb2: Manufacturer: Linux 4.10.0-40-generic xhci-hcd
[    1.108163] usb usb2: SerialNumber: 0000:00:0c.0
[    1.435542] usb 1-1: new full-speed USB device number 2 using xhci_hcd
[    1.648409] usb 1-1: New USB device found, idVendor=80ee, idProduct=0021
[    1.648410] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[    1.648412] usb 1-1: Product: USB Tablet
[    1.648412] usb 1-1: Manufacturer: VirtualBox
[    1.659985] usbcore: registered new interface driver usbhid
[    1.659985] usbhid: USB HID core driver
[    1.663545] input: VirtualBox USB Tablet as /devices/pci0000:00/0000:00:0c.0/usb1/1-1/1-1:1.0/0003:80EE:0021.0001/input/input6
[    1.663912] hid-generic 0003:80EE:0021.0001: input,hidraw0: USB HID v1.10 Mouse [VirtualBox USB Tablet] on usb-0000:00:0c.0-1/input0
[    1.767863] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[    1.791807] usb 2-1: LPM exit latency is zeroed, disabling LPM.
[    1.797788] usb 2-1: New USB device found, idVendor=2500, idProduct=0020
[    1.797794] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.797797] usb 2-1: Product: USRP B200
[    1.797800] usb 2-1: Manufacturer: Ettus Research LLC
[    1.797803] usb 2-1: SerialNumber: 312ACB0
[    9.613647] audit: type=1400 audit(1511444918.848:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/ippusbxd" pid=684 comm="apparmor_parser"

Você pode ver que a USRP B200 (na verdade, uma B210) foi configurada com sucesso na mesma porta que falhou antes.

Se é realmente algum problema estranho de energia - eu li que eu posso obter um hub USB e conecte o B210 para o primeiro (eu tenho um na ordem). Mas eu gostaria de saber por que isso funciona no Windows e não na minha VM, a menos que eu pré-configure o dispositivo no Windows primeiro!

Alguém tem alguma sugestão / sugestão de como eu posso consertar isso ou depurá-lo ainda mais?

Observação: Ambos os cenários funcionam bem se eu conecto o mesmo dispositivo a uma porta USB2.

    
por code_fodder 23.11.2017 / 15:44

0 respostas