From owner-freebsd-usb@FreeBSD.ORG Sat Jul 9 21:51:39 2005 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED4AB16A41C for ; Sat, 9 Jul 2005 21:51:39 +0000 (GMT) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe03.swip.net [212.247.154.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 48CC743D53 for ; Sat, 9 Jul 2005 21:51:38 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: gvlK0tOCzrqh9CPROFOFPw== Received: from mp-216-39-194.daxnet.no ([193.216.39.194] verified) by mailfe03.swip.net (CommuniGate Pro SMTP 4.3.4) with ESMTP id 222097539; Sat, 09 Jul 2005 23:51:36 +0200 From: Hans Petter Selasky To: Stefan Walter Date: Sat, 9 Jul 2005 23:52:31 +0200 User-Agent: KMail/1.7 References: <20050626091628.775DD3A1D@kyuzo.dunkelkammer.void> <200507091436.44489.hselasky@c2i.net> <20050709135329.GA855@kyuzo.dunkelkammer.void> In-Reply-To: <20050709135329.GA855@kyuzo.dunkelkammer.void> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200507092352.33451.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: usb/82660: EHCI: I/O stuck in state 'physrd'/panic X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hselasky@c2i.net List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jul 2005 21:51:40 -0000 On Saturday 09 July 2005 15:53, Stefan Walter wrote: > Hans Petter Selasky, 09.07.05, 14:36h CEST: > > > I don't think it's the USB stick, as the device works fine with ehci at > > > my notebook (Intel chipset). Furthermore, I could now reproduce the > > > problem with an external USB HD enclosure, too. > > > > Ok, lets have a look at the EHCI driver and see what is going on. I'm not > > sure how to do this with the official USB driver, but if you could have > > installed my USB driver again, and replace the function "ehci_timeout()" > > in the file "/sys/dev/usb2/_ehci.c" with the following: > > [...] > > > And then compile a new kernel and/or modules. > > > > Your device was USB 2.0, right, else you have to do something similar > > to /sys/dev/usb2/_uhci.c if the device is USB 1.X. > > > > Just leave all debugging flags off, and then try to reproduce the error > > [one or more times] and post the dmsg that appears. > > OK, dmesg says the following: > > QTD(0xdeb321c0) at 0x1f3501c0: > next=0x00000001 altnext=0x00000001 > status=0x10008d80: toggle=0 bytes=0x1000 ioc=1 c_page=0x0 > cerr=3 pid=1 stat=80 > buffer[0]=0x1f34f0d0 > buffer[1]=0x1f350000 > buffer[2]=0x00000000 > buffer[3]=0x00000000 > buffer[4]=0x00000000 > _ehci_remove_qh: 0xdeb32400 from 0xdeb32400 > This doesn't indicate any errors. The transfer is simply waiting for data and the USB device is not supplying any so the transfer does not finish. But I want to have a look at a parent structure too, to see if your EHCI controller is not writing back or updating the last QTD. In the file /sys/dev/usb2/_ehci.c in the function ehci_device_done(): Change this: DPRINTF(("nexttog=%d; data after transfer:\n", xfer->pipe->toggle_next)); ehci_dump_sqtds(xfer->td_start); Into this : DPRINTF(("nexttog=%d; data after transfer:\n", xfer->pipe->toggle_next)); ehci_dump_sqtds(xfer->td_start); ehci_dump_sqh(xfer->qh_start); Recompile and reproduce the bug three or four times and post the dmsg. --HPS