BlackBerry (Re: using libusb)

Marcin Cieslak saper at system.pl
Fri Jan 11 07:05:03 PST 2008


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?

Did NetBSD do any progress in this area? (I can see their current USB
and Bluetooth stacks are more advanced then ours).

And what wonders me most - we are lucky if we end up with a standard tty
or storage interface in the end, but what userland interface should we
give for example to SANE?

sanei_usb interface defines :

"usb_write_bulk", that goes as a simple write() to our /dev/uscanner,
"usb_read_bulk" - simple read(),
"usb_read_int" (not supported with /dev/uscanner),
"usb_control_msg" that sends a message to a control pipe (USB_DO_REQUEST
of ugen, available to uscanner only if you patch it).

My scanner (HP3300C) needs to talk to the control pipe to read/write its
registers for example.

--Marcin



More information about the freebsd-usb mailing list