concurrent access to multiple endpoints of a USB device ?

Alfred Perlstein alfred at freebsd.org
Tue Nov 25 16:08:00 PST 2008


* Thierry Herbelot <thierry.herbelot at free.fr> [081125 13:51] wrote:
> Hello,
> 
> (this is with the old USB stack, on a -slow- 7.1 i386 machine)
> 
> I'm playing with a USB2.0 device which exposes multplie endpoints (control on 
> EP0, then bulk endpoints 1, 2 and 3).
> 
> When I run a control application doing EP0 requests simultaneously with 
> another process reading off EP2, the reading process only gets errors :
> "Received -1 vs 65536 bytes requested ep 2 errno=5 (Input/output error)"
> 
> The control application by itself works correctly.
> 
> I'm using a simple read system call to read from ugen0.2 :
> "nb_bytes = read(ep_fd[2], buf, nb);"
> 
> Is there anything I should do to for example increase the ep2 buffer size ?
> (maybe I should also try the new USB stabck, for sure)

Give usb2 a shot.  Hans is pretty on top of issues in it.

-- 
- Alfred Perlstein


More information about the freebsd-usb mailing list