Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2010 10:33:57 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: usb_interrupt_read blocks "forever" sometimes
Message-ID:  <201002101033.57575.hselasky@c2i.net>
In-Reply-To: <201002102001.37306.doconnor@gsoft.com.au>
References:  <201002101738.30753.doconnor@gsoft.com.au> <201002100923.20377.hselasky@c2i.net> <201002102001.37306.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 10 February 2010 10:31:28 Daniel O'Connor wrote:
> On Wed, 10 Feb 2010, Hans Petter Selasky wrote:
> > I would not recommend using signals with libusb. It is not portable.
> > Currently signals are ignored. What you would have to do, is to use
> 
> OK.
> 
> > the timeout argument which you are doing, and have a timekeeper
> > variable somewhere, or create another thread. Still, when using the
> > timeout there is a chance you can loose data.
> 
> The problem is that the timeout seems to be ignored sometimes - that is
> the only reason I was playing with alarm() at all.
> 
> I have the timeout set to 100 (milliseconds?) yet I find if I restart
> the program every now and then it will get stuck on the first read.
> 

Could you enable debugging for the Host Controller responsible for your 
device:

sysctl hw.ehci.debug=15
sysctl hw.ohci.debug=15
sysctl hw.uhci.debug=15

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002101033.57575.hselasky>