XHCI on Parallels VM

Daniel O'Connor doconnor at gsoft.com.au
Mon Apr 7 05:14:14 UTC 2014


Hi,
I am developing a USB3 device based on the Cypress FX3 for use on FreeBSD (9 or 10) but my main development platform is OSX so I am running FreeBSD inside Parallels.

I find that if I enable USB3 mode then the device fails to enumerate with..
Apr  7 05:09:47 freebsd10 kernel: xhci_roothub_exec: type=0x23 request=0x03 wLen=0x0000 wValue=0x0017 wIndex=0x8001
Apr  7 05:09:47 freebsd10 kernel: xhci_roothub_exec: type=0x23 request=0x03 wLen=0x0000 wValue=0x0018 wIndex=0x8001
Apr  7 05:09:47 freebsd10 kernel: xhci_ep_init: endpoint=0xfffff800071430d8, addr=0, endpt=0, mode=0
Apr  7 05:09:47 freebsd10 kernel: xhci_ep_clear_stall:
Apr  7 05:09:47 freebsd10 kernel: xhci_cmd_enable_slot:
Apr  7 05:09:47 freebsd10 kernel: xhci_do_command: Command timeout!
Apr  7 05:09:47 freebsd10 kernel: xhci_do_command: Command abort timeout!
Apr  7 05:09:47 freebsd10 kernel: usb_alloc_device: device init 2 failed (USB_ERR_TIMEOUT, ignored)
Apr  7 05:09:47 freebsd10 kernel: xhci_device_state_change:
Apr  7 05:09:47 freebsd10 kernel: ugen1.2: <Unknown> at usbus1 (disconnected)
Apr  7 05:09:47 freebsd10 kernel: uhub_reattach_port: could not allocate new device
Apr  7 05:09:47 freebsd10 kernel: xhci_roothub_exec: type=0x23 request=0x01 wLen=0x0000 wValue=0x0001 wIndex=0x0001
Apr  7 05:09:47 freebsd10 kernel: xhci_roothub_exec: type=0xa3 request=0x00 wLen=0x0004 wValue=0x0000 wIndex=0x0002
(I set hw.usb.xhci.debug=3)

This is with the USB UART sample code from Cypress (so I don't believe it's a problem with the code in the FX3 micro)

If I connect it with the boot loader running it works, however that enumerates as USB2, not 3.

I tried setting hw.usb.ehci.iaadbug=1, hw.usb.ehci.lostintrbug=1, hw.usb.xhci.use_polling=1 with no change.

I also tried setting hw.usb.xhci.xhci_port_route=-1 in /boot/loader.conf with no change (not that I expected it to since it emulates an NEC XHCI controller..)

Here is the output of pciconf -lv if it helps..
hostb0 at pci0:0:0:0:	class=0x060000 card=0x04001ab8 chip=0x29a08086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82P965/G965 Memory Controller Hub'
    class      = bridge
    subclass   = HOST-PCI
pcib1 at pci0:0:1:0:	class=0x060401 card=0x00008086 chip=0x29818086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82G35 Express PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
none0 at pci0:0:3:0:	class=0xff0000 card=0x04001ab8 chip=0x40001ab8 rev=0x00 hdr=0x00
    vendor     = 'Parallels, Inc.'
    device     = 'Virtual Machine Communication Interface'
em0 at pci0:0:5:0:	class=0x020000 card=0x04001ab8 chip=0x100f8086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82545EM Gigabit Ethernet Controller (Copper)'
    class      = network
    subclass   = ethernet
pcib2 at pci0:0:10:0:	class=0x060400 card=0x00000000 chip=0x00221011 rev=0x00 hdr=0x01
    vendor     = 'Digital Equipment Corporation'
    device     = 'DECchip 21150'
    class      = bridge
    subclass   = PCI-PCI
uhci0 at pci0:0:29:0:	class=0x0c0300 card=0x04001ab8 chip=0x26588086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI'
    class      = serial bus
    subclass   = USB
xhci0 at pci0:0:29:6:	class=0x0c0330 card=0x04001ab8 chip=0x01941033 rev=0x03 hdr=0x00
    vendor     = 'NEC Corporation'
    device     = 'uPD720200 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
ehci0 at pci0:0:29:7:	class=0x0c0320 card=0x04001ab8 chip=0x265c8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller'
    class      = serial bus
    subclass   = USB
pcib3 at pci0:0:30:0:	class=0x060400 card=0x04001ab8 chip=0x244e8086 rev=0xf2 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0 at pci0:0:31:0:	class=0x060100 card=0x04001ab8 chip=0x28108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801HB/HR (ICH8/R) LPC Interface Controller'
    class      = bridge
    subclass   = PCI-ISA
atapci0 at pci0:0:31:1:	class=0x010180 card=0x04001ab8 chip=0x244b8086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801BA IDE U100 Controller'
    class      = mass storage
    subclass   = ATA
ahci0 at pci0:0:31:2:	class=0x010601 card=0x04001ab8 chip=0x28218086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode]'
    class      = mass storage
    subclass   = SATA
pcm0 at pci0:0:31:4:	class=0x040100 card=0x04001ab8 chip=0x24458086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801BA/BAM AC'97 Audio Controller'
    class      = multimedia
    subclass   = audio
vgapci0 at pci0:1:0:0:	class=0x030000 card=0x04001ab8 chip=0x40051ab8 rev=0x00 hdr=0x00
    vendor     = 'Parallels, Inc.'
    device     = 'Accelerated Virtual Video Adapter'
    class      = display
    subclass   = VGA

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C






-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20140407/d4fb69fb/attachment.sig>


More information about the freebsd-stable mailing list