Date: Thu, 30 Jun 2005 14:08:18 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: Stefan Walter <sw@gegenunendlich.de> Cc: freebsd-usb@freebsd.org Subject: Re: usb/82660: EHCI: I/O stuck in state 'physrd'/panic Message-ID: <200506301408.20619.hselasky@c2i.net> In-Reply-To: <20050629135802.GA976@kyuzo.dunkelkammer.void> References: <20050626091628.775DD3A1D@kyuzo.dunkelkammer.void> <200506291225.36375.hselasky@c2i.net> <20050629135802.GA976@kyuzo.dunkelkammer.void>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 29 June 2005 15:58, Stefan Walter wrote: > [Cc'd usb@, maybe someone else wants to comment on this, too.] > > Hans Petter Selasky, 29.06.05, 12:25h CEST: > > On Tuesday 28 June 2005 19:23, you wrote: > > > Hi, > > > > > > Hans Petter Selasky, 26.06.05, 14:15h CEST: > > > > I know there is bug related to the alignments of hardware structures > > > > in the existing EHCI driver. The EHCI driver works with generic intel > > > > chips, but not others. > > > > > > > > Could you have tried my USB driver and see if the problem is the > > > > same? > > > > > > I tried your driver today, but unfortunately the same thing happened: > > > I/O got stuck after reading a few KBytes. > > > > OK, then your problem is most likely inside /sys/dev/usb/umass.c. > > > > Try "sysctl hw.usb.umass.debug=15" while you have the my driver in the > > kernel, hence it has got debugging flags enabled by default. Else you > > need to add something like "option USB_DEBUG" to your kernel config file. > > I'm not sure if you can compile the modules with debugging support unless > > you use my USB driver. > > > > See if any errors show up. > > > > Then try "sysctl hw.usb.debug=15". See if any errors appear. > > I tried that with the official FreeBSD driver for now (USB_DEBUG and ehci > in the kernel). > > hw.usb.umass.debug=15 didn't show me any messages during the transfer, > only when (dis)connecting the device. hw.usb.debug=15 dumped a lot of > output. It's available here: Try "sysctl hw.usb.umass.debug=-1" while "hw.usb.debug=0". You should get some error messages, hence your logs show that transfers are failing: Jun 29 15:26:58 kyuzo kernel: usb_transfer_complete: pipe=0xc2068d00 xfer=0xc215a300 status=17 actlen=0 (STALL) This can indicate that EHCI got the data toggle wrong. Jun 29 15:28:43 kyuzo kernel: usb_transfer_complete: pipe=0xc2068d00 xfer=0xc215a300 status=15 actlen=0 (TIMEOUT) If you are loading umass as a module, you need to add #ifndef USB_DEBUG #define USB_DEBUG #endif before #ifdef USB_DEBUG in the file /sys/dev/usb/umass.c, and then recompile and install the module: make -C/sys/modules/umass depend all install clean You might also want to add: #undef DIF #define DIF(args...) after the ifdef/endif USB_DEBUG, to limit the debugging output, if there is too much dmsg. > > I haven't tried the same with your driver, yet - would that bring more > info? You will get something similar. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506301408.20619.hselasky>