Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Dec 2008 20:48:06 +0100
From:      Thierry Herbelot <thierry.herbelot@free.fr>
To:        freebsd-current@freebsd.org
Cc:        Rink Springer <rink@freebsd.org>, Hans Petter Selasky <hselasky@c2i.net>
Subject:   Re: HEADSUP usb2 (usb4bsd) to become default in 2 weeks.
Message-ID:  <200812232048.07375.thierry.herbelot@free.fr>
In-Reply-To: <20081223193056.GA65161@rink.nu>
References:  <20081222214010.GA18389@elvis.mu.org> <20081223190808.GC1176@hoeg.nl> <20081223193056.GA65161@rink.nu>

next in thread | previous in thread | raw e-mail | index | archive | help
Le Tuesday 23 December 2008, Rink Springer a écrit :
> On Tue, Dec 23, 2008 at 08:08:08PM +0100, Ed Schouten wrote:
> > * Hans Petter Selasky <hselasky@c2i.net> wrote:
> > > On Tuesday 23 December 2008, Dag-Erling Sm?rgrav wrote:
> > > > There are serious issues with the permissions model, which were
> > > > raised in Strasbourg and AFAIK never addressed.
> > >
> > > This is more complicated than you think. If you require a change in
> > > this area than please point me to an existing example implementing
> > > something similar. I know about the "kern_priv()" function, but there
> > > are no specific groups for USB, which needs to be discussed. The
> > > current implementation is good enough for most use cases in my opinion.
> >
> > Just create device nodes in devfs. Let devfs handle the permissions. If
> > they are insufficient, then we should add ACL support to devfs.
>
> Due to the design of USB2, this isn't quite as obvious as it may seem;
> for example, an USB device has multiple endpoints, and if some process
> opens endpoint 1 and 3, you don't want to block another process from
> opening endpoint 2, for example. There are a lot of interesting
> combinations possible, and this is only the tip of the iceberg :-)

Hello,

Speaking of permissions, please do not forget that endpoint 0 may be 
simultaneously used by multiple processes (for multiple interleaved USB 
requests).

As a Me-Too : one current difficulty with usb2 is the loss of device nodes for 
addressing individual endpoints.

One the other hand, the performance is so much better .... impressive even 
from userland, when using libusb20.

I just have found what may be an issue, which is : reading from bulk 
endpoints, I can get data if the reads are in two separate processes, but not 
from two threads in the same process.

	Thanks for the good work

	TfH
>
> Regards,





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