Multifunction USB devices
ticso at cicely12.cicely.de
Thu Nov 20 03:22:27 PST 2003
On Tue, Nov 18, 2003 at 08:12:49PM -0500, Jeff Walters wrote:
> I have an Epson printer/scanner combo device (CX5200) which works just
> fine either as a printer or as a scanner (when I add the vendor and
> product codes to usbdevs and uscanner.c) but not both simultaneously.
> Currently I compile ulpt and my customized uscanner as modules, and
> to switch functions I power the device off, unload/load the
> appropriate kernel module, and power the device back on.
> I'm assuming a patch to add the CX5200 vendor/device codes to usbdevs
> and uscanner.c in the way I'm doing wouldn't be accepted into CURRENT
> since the resulting usage of it is a bit of a hack. Is that right?
The right fix would be to convert uscanner into a function level driver
for scanner combinations - currently it's a device level driver.
ulpt does the right thing.
Compare USB_MATCH and USB_ATTACH functions to get an idea about the
Adding device identification to uscanner is required anyway, because
there is no class definition for scanners.
> I wouldn't mind doing work over the next few months to create proper
> simultaneous support for both devices if it can be done with a
> reasonable level of effort and I can find some sources of
> information, and I can get some guidance from an experienced
> committer or architect to help do it right the first time. Where
> should I go for discussion? I'd like to learn ie. should I work to
> combine ulpt and uscanner into some kind of single umulti type of
> device driver, or should a virtual hub device of some kind be created
> to support both ulpt and uscanner simultaneously as-is (one USB
> endpoint, multiple interfaces), or should the system simply continue
> searching after matching a USB device, or will this be OBE with some
> other USB work going on, etc.
B.Walter BWCT http://www.bwct.de
ticso at bwct.de info at bwct.de
More information about the freebsd-current