From owner-freebsd-current@FreeBSD.ORG Tue Nov 18 17:13:43 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 00B1C16A4CE for ; Tue, 18 Nov 2003 17:13:43 -0800 (PST) Received: from c001.snv.cp.net (h024.c001.snv.cp.net [209.228.32.139]) by mx1.FreeBSD.org (Postfix) with SMTP id 7E15343FF9 for ; Tue, 18 Nov 2003 17:12:51 -0800 (PST) (envelope-from jeff@walters.name) Received: (cpmta 22841 invoked from network); 18 Nov 2003 17:12:50 -0800 Received: from 68.59.45.70 (HELO wolfpack.localdomain) by smtp.register-admin.com (209.228.32.139) with SMTP; 18 Nov 2003 17:12:50 -0800 X-Sent: 19 Nov 2003 01:12:50 GMT From: Jeff Walters To: current@freebsd.org Date: Tue, 18 Nov 2003 20:12:49 -0500 User-Agent: KMail/1.5.4 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200311182012.49724.jeff@walters.name> Subject: Multifunction USB devices X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: jeff@walters.name List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Nov 2003 01:13:43 -0000 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? 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. Thanks, Jeff