Date: Tue, 01 Jul 2014 00:17:16 +0800 From: Tur-Wei Chan <twchan@singnet.com.sg> To: Hans Petter Selasky <hps@selasky.org>, freebsd-usb@FreeBSD.org Subject: Re: Zotac ID91 USB3 devices attach as USB2 Message-ID: <53B18D8C.3080401@singnet.com.sg> In-Reply-To: <53B046A0.4010102@selasky.org> References: <53B025AF.3010602@singnet.com.sg> <53B046A0.4010102@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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-
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53B18D8C.3080401>