Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 2003 12:22:11 +0100
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Jeff Walters <jeff@walters.name>
Cc:        current@freebsd.org
Subject:   Re: Multifunction USB devices
Message-ID:  <20031120112210.GD66808@cicely12.cicely.de>
In-Reply-To: <200311182012.49724.jeff@walters.name>
References:  <200311182012.49724.jeff@walters.name>

next in thread | previous in thread | raw e-mail | index | archive | help
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
difference.
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@bwct.de                                  info@bwct.de



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