Zotac ID91 USB3 devices attach as USB2
Tur-Wei Chan
twchan at singnet.com.sg
Mon Jun 30 16:30:07 UTC 2014
Hi,
On 30/6/2014 1:02 AM, Hans Petter Selasky wrote:
> On 06/29/14 16:41, Tur-Wei Chan wrote:
>> Hi,
>>
>> Got a Zotac ID91 mini-PC
>> (http://www.zotac.com/products/mini-pcs/zbox/product/zbox/detail/zbox-id91-1.html)
>>
>> recently and installed FreeBSD (10-STABLE, r267719) on it.
>>
>> Hooking up my Mediasonic ProRaid HUR3-SU3S3 to the USB3 ports however
>> showed the drives up at only USB2.0 speeds:
>>
>
> Hi,
>
> What does "pciconf -lv" say?
>
> I see you have a Lynx Point USB 3.0. They are a bit troublesome. Have
> you played with the port routing mask under hw.usb.xhci ?
>
> --HPS
>
pciconf -lv said (as attached previously):
xhci0 at pci0:0:20:0: class=0x0c0330 card=0xb20619da chip=0x8c318086
rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = 'Lynx Point USB xHCI Host Controller'
class = serial bus
subclass = USB
I set hw.usb.xhci.xhci_port_route=-1 in /boot/loader.conf but it did not
seem to have any effect as another poster has reported. Looking at xhci.c:
if (sc->sc_port_route != NULL) {
/* Route all ports to the XHCI by default */
sc->sc_port_route(sc->sc_bus.parent,
~xhciroute, xhciroute);
}
It seems that if xhciroute=-1 as set by the tunable, the code above will
actually call sc_port_route() with set=0, clear=~0. Maybe that's not
what's intended?
Anyway I tried again with hw.usb.xhci.xhci_port_route=0 and then I did
see the initial setting of the mask:
Jul 1 00:14:14 z2 kernel: xhci0: Port routing mask set to 0xffffffff
Jul 1 00:14:14 z2 kernel: usbus0 on xhci0
However, not long after that, the port fails and the mask is reset to 0.
Jul 1 00:14:14 z2 kernel: xhci_cmd_set_address:
Jul 1 00:14:14 z2 kernel: xhci_do_command: command[1] = 11
(0x000000000728d000, 0x00000000, 0x01002e00)
Jul 1 00:14:14 z2 kernel: xhci_interrupt: real interrupt
(status=0x00000008)
Jul 1 00:14:14 z2 kernel: xhci_interrupt_poll: event[5] = 33
(0x00000000bef63d90 0x11000000 0x01008401)
Jul 1 00:14:14 z2 kernel: xhci_check_command: Received command event
Jul 1 00:14:14 z2 kernel: xhci0: Port routing mask set to 0x00000000
Jul 1 00:14:14 z2 kernel: xhci_interrupt: real interrupt
(status=0x00000018)
Jul 1 00:14:14 z2 kernel: xhci_set_address: Could not set address for
slot 1.
Jul 1 00:14:14 z2 kernel: xhci_interrupt_poll: event[6] = 34
(0x0000000003000000 0x01000000 0x00008801)
Jul 1 00:14:14 z2 kernel: usb_alloc_device: device init 2 failed
(USB_ERR_IOERROR, ignored)
Jul 1 00:14:14 z2 kernel: xhci_interrupt_poll: Unhandled event = 34
Jul 1 00:14:14 z2 kernel: xhci_device_state_change:
Jul 1 00:14:14 z2 kernel: xhci_root_intr: port 3 changed
Jul 1 00:14:14 z2 kernel: ugen0.2: <Unknown> at usbus0 (disconnected)
I guess this system is lost cause then...
Regards
-T.W.Chan-
More information about the freebsd-usb
mailing list