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:
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.