From owner-freebsd-usb@FreeBSD.ORG Tue Nov 15 13:14:32 2011 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 241DE1065673 for ; Tue, 15 Nov 2011 13:14:32 +0000 (UTC) (envelope-from me@janh.de) Received: from mxchg03.rrz.uni-hamburg.de (mxchg03.rrz.uni-hamburg.de [134.100.38.113]) by mx1.freebsd.org (Postfix) with ESMTP id BE8448FC08 for ; Tue, 15 Nov 2011 13:14:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mxchg03.rrz.uni-hamburg.de (Postfix) with ESMTP id 083721EE271; Tue, 15 Nov 2011 14:14:30 +0100 (CET) X-Virus-Scanned: by University of Hamburg ( RRZ / mgw02.rrz.uni-hamburg.de ) Received: from mxchg03.rrz.uni-hamburg.de ([127.0.0.1]) by localhost (mxchg03.rrz.uni-hamburg.de [127.0.0.1]) (amavisd-new, port 10324) with ESMTP id z7Y5gkO043YS; Tue, 15 Nov 2011 14:14:29 +0100 (CET) Received: from mailhost.uni-hamburg.de (mailhost.uni-hamburg.de [134.100.38.99]) by mxchg03.rrz.uni-hamburg.de (Postfix) with ESMTPS; Tue, 15 Nov 2011 14:14:29 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mailhost.uni-hamburg.de (Postfix) with ESMTP id E91E090008; Tue, 15 Nov 2011 14:14:29 +0100 (CET) X-Virus-Scanned: by University of Hamburg (RRZ/mailhost) Received: from mailhost.uni-hamburg.de ([127.0.0.1]) by localhost (mailhost.uni-hamburg.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id LpUZJa38+TCR; Tue, 15 Nov 2011 14:14:29 +0100 (CET) Received: from nb981.math (g224005150.adsl.alicedsl.de [92.224.5.150]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: fmjv004) by mailhost.uni-hamburg.de (Postfix) with ESMTPSA id BC84790002; Tue, 15 Nov 2011 14:14:28 +0100 (CET) Message-ID: <4EC265AC.5080503@janh.de> Date: Tue, 15 Nov 2011 14:14:20 +0100 From: Jan Henrik Sylvester User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:8.0) Gecko/20111108 Thunderbird/8.0 MIME-Version: 1.0 To: Hans Petter Selasky References: <4EB2F85A.3060501@ixsystems.com> <201111041018.32296.hselasky@c2i.net> <4EB3CDA1.7090708@janh.de> <201111051315.54807.hselasky@c2i.net> In-Reply-To: <201111051315.54807.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Cc: Josh Paetzel , "xin@ixsystems.com" , d@delphij.net, freebsd-usb@freebsd.org Subject: Re: USB 3 issues X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2011 13:14:32 -0000 On 11/05/2011 13:15, Hans Petter Selasky wrote: > On Friday 04 November 2011 12:33:53 Jan Henrik Sylvester wrote: >> On 11/04/2011 10:18, Hans Petter Selasky wrote: >>> On Thursday 03 November 2011 22:04:44 Xin LI wrote: >>>> Xin LI >>> >>> Please try the following patch: >>> >>> http://svn.freebsd.org/changeset/base/227075 >>> >>> Then send me the XHCI attach error. >>> >>> Probably something which we can fix. >> >> Ok, I have found a minute to test 9.0-RC1 + 227075: >> >> xhci0: mem 0xf1f00000-0xf1f0ffff irq >> 19 at device 0.0 on pci5 >> xhci0: 32 byte context size. >> xhci0: Controller reset timeout. >> xhci0: XHCI halt/start/probe failed err=18 >> WARNING: A USB process has been left suspended >> device_attach: xhci0 attach returned 6 >> >> BTW: I think it is this device from "pciconf -l": >> xhci0@pci0:5:0:0: class=0x0c0330 card=0x10001d5c chip=0x10001b73 >> rev=0x01 hdr=0x00 > In sys/dev/usb/controller/xhci.c > > Try to increase the usb_pause_mtx() from hz/1000 to hz/100. > > If that doesn't work try to continue, even if the HC is not clearing the HCRST > bit. Also print "temp" at the end of the loop. > > /* Reset controller */ > XWRITE4(sc, oper, XHCI_USBCMD, XHCI_CMD_HCRST); > > for (i = 0; i != 100; i++) { > usb_pause_mtx(NULL, hz / 1000); > temp = XREAD4(sc, oper, XHCI_USBCMD)& > (XHCI_CMD_HCRST | XHCI_STS_CNR); > if (!temp) > break; > } > > if (temp) { > device_printf(sc->sc_bus.parent, "Controller " > "reset timeout.\n"); > return (USB_ERR_IOERROR); > } I have put hz/100 in all four places of usb_pause_mtx(), replacing hz/1000 three times and hz/250 once. temp is never != 0 in that loop now and the controller attaches: xhci0: mem 0xf1f00000-0xf1f0ffff irq 19 at d evice 0.0 on pci5 xhci0: 32 byte context size. usbus1 on xhci0 Anyhow, trying to attach an umass device fails: xhci_do_command: Command timeout! xhci_do_command: Command timeout! xhci_do_command: Command timeout! ugen1.2: at usbus1 umass0: on usbus1 umass0: SCSI over Bulk-Only; quirks = 0x0000 xhci_do_command: Command timeout! xhci_do_command: Command timeout! umass0: Get Max Lun not supported (USB_ERR_TIMEOUT) umass0:5:0:-1: Attached to scbus5 xhci_do_command: Command timeout! And many more "Command timeout!" after that. What should I try next? (This time I will reply more promptly, sorry for the delay.) Cheers, Jan Henrik