Date: Fri, 11 Jan 2008 19:10:40 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-usb@freebsd.org Cc: Marcin Cieslak <saper@system.pl>, Mikhail Teterin <mi+kde@aldan.algebra.com> Subject: Re: BlackBerry (Re: using libusb) Message-ID: <200801111910.41509.hselasky@c2i.net> In-Reply-To: <47877B84.9050106@system.pl> References: <200801090114.56195@aldan> <200801102203.m0AM33dF091080@chevy.androcles.org> <47877B84.9050106@system.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 11 January 2008, Marcin Cieslak wrote: > Duane H Hesser wrote: > >> The only work-around is to not have umass, etcetera in your kernel, > >> but that sucks, because one may want to be able to access /some/ > >> devices as mass-storage, and some others as merely generics... > > > > A similar problem occurs to many of us who have HP printers which > > hook up (quite properly, it seems to me) on ulpt0. Mine also > > hooks up on umass0 (to service the flash memory card slots), > > and would hook up on uscanner0, too, if uscanner.c were modified > > to recognize it. If we want to use HP's software (HPLIP) > > to drive the printer we must arrange arrange for it to be ugen. > > Maybe we should move to the model where we attach drivers to interfaces > or even particular endpoints? What about sharing the control endpoint? Hi, The control endpoint is already shared and we do already support per interface driver attach. What is missing is some glue between userland and the USB kernel. Extending my previous idea: /dev/usb<bus_no>.<dev_no>.<iface_no>.<ep_no> If the iface is 255 then the iface number is ignored, and we are opening a raw endpoint. Only the super user is allowed to do this. Else the rule becomes that endpoints on an interface can only be opened when no other kernel driver is attached to that particular interface, unless you are super user. What do you think ? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801111910.41509.hselasky>