Date: Fri, 16 Mar 2012 17:20:46 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-usb@freebsd.org, holm@freibergnet.de Subject: Re: USB UHCI Problems on 8-Stable Message-ID: <201203161720.46468.hselasky@c2i.net> In-Reply-To: <20120315220640.GB96051@beast.freibergnet.de> References: <20120315220640.GB96051@beast.freibergnet.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 15 March 2012 23:06:40 Holm Tiffe wrote: > >> Hi, > >> > >> For some time I had problems with my Cam (Olympus FE-230), it wouldn't > > get > > >> recognized again after unplugging it from the USB Connector. > >> > >> Now I have a very similar Problem while trying to get an J-Link V8 > >> compatible Jtag debugger working in conjunction with openocd. > >> Maybe there are bugs in openocd, but the bigger ones seems to be in > >> FreeBSDs USB drivers. > >> > >> In the meantime I've cvs-supped to 8.3PRERELEASE (yesterday) built world > >> and kernel. I've commented the ?hci drivers out of the kernel config and > >> set USB_DEBUG. > >> > >> > >> At fist please Cc me, I'm not on freebsd-usb. > > > >> After Loading the uhci module: > >Hi, > > > >Could you log the USB traffic on the UHCI controller using usbdump ? > > > >It would be interesting to see what is going on. > > > >Have you tried using an external High-Speed HUB? > > > >--HPS > > Here is the dump: http://www.tiffe.de/other/usbus1.dump > > This is connecting the J-link, starting openocd twice, removing > and reconnecting the J-link followed by a kldunload uhci. > > Can't provide a dump while kldloading since usbdump stops when the driver > is unloaded. > > I have no Highspeedr-Hub so this was a direct connect. Results are the same > regardless whcih interface is used. Hi, The BULK transfer stops by a stall. I suspect the UHCI is receiving more data than it can, and is hardware programmed to stop it looks like. I can't change that behaviour. It is not a bug in the FreeBSD USB driver I think. Try this patch to /usr/ports/devel/openocd/ make extract patch ee ./work/openocd-0.5.0/src/jtag/drivers/jlink.c Change: result = jlink_usb_read(jlink, in_length); Into: /* must read at least one packet at a time! */ result = jlink_usb_read(jlink, in_length + ((-in_length) & 63)); Then re-compile and try again! --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203161720.46468.hselasky>