From owner-freebsd-usb@FreeBSD.ORG Sun Oct 3 22:47:04 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C85C1065672 for ; Sun, 3 Oct 2010 22:47:04 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from out-0.mx.aerioconnect.net (out-0-36.mx.aerioconnect.net [216.240.47.96]) by mx1.freebsd.org (Postfix) with ESMTP id EDBC08FC0C for ; Sun, 3 Oct 2010 22:47:03 +0000 (UTC) Received: from idiom.com (postfix@mx0.idiom.com [216.240.32.160]) by out-0.mx.aerioconnect.net (8.13.8/8.13.8) with ESMTP id o93MWArN017772; Sun, 3 Oct 2010 15:32:11 -0700 X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e Received: from julian-mac.elischer.org (h-67-100-89-137.snfccasy.static.covad.net [67.100.89.137]) by idiom.com (Postfix) with ESMTP id 7C65E2D6017; Sun, 3 Oct 2010 15:32:09 -0700 (PDT) Message-ID: <4CA90492.4000507@freebsd.org> Date: Sun, 03 Oct 2010 15:32:50 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 To: Hans Petter Selasky References: <201010031019.20329.hselasky@c2i.net> In-Reply-To: <201010031019.20329.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 216.240.47.51 Cc: freebsd-usb@freebsd.org Subject: Re: ...but this USB device is more than a printer! X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Oct 2010 22:47:04 -0000 On 10/3/10 1:19 AM, Hans Petter Selasky wrote: > On Sunday 03 October 2010 01:19:18 dan wrote: >> Hi all, >> >> I'll go straight to the point. >> Here's the output from "usbconfig dump_device_desc" >> >> #* >> ugen0.3: at usbus0, cfg=0 md=HOST >> spd=FULL (12Mbps) pwr=ON >> >> bLength = 0x0012 >> bDescriptorType = 0x0001 >> bcdUSB = 0x0110 >> bDeviceClass = 0x0000 >> bDeviceSubClass = 0x0000 >> bDeviceProtocol = 0x0000 >> bMaxPacketSize0 = 0x0008 >> idVendor = 0x04e8 >> idProduct = 0x3413 >> bcdDevice = 0x0100 >> iManufacturer = 0x0001 >> iProduct = 0x0002 >> iSerialNumber = 0x0003<8J21BAKYB28091W.> >> bNumConfigurations = 0x0001 >> #* >> >> and here's the output from "usbconfig dump_curr_config_desc" >> >> #* >> ugen0.3: at usbus0, cfg=0 md=HOST >> spd=FULL (12Mbps) pwr=ON >> >> >> Configuration index 0 >> >> bLength = 0x0009 >> bDescriptorType = 0x0002 >> wTotalLength = 0x0020 >> bNumInterfaces = 0x0001 >> bConfigurationValue = 0x0001 >> iConfiguration = 0x0000 >> bmAttributes = 0x00c0 >> bMaxPower = 0x0000 >> >> Interface 0 >> bLength = 0x0009 >> bDescriptorType = 0x0004 >> bInterfaceNumber = 0x0000 >> bAlternateSetting = 0x0000 >> bNumEndpoints = 0x0002 >> bInterfaceClass = 0x0007 >> bInterfaceSubClass = 0x0001 >> bInterfaceProtocol = 0x0002 >> iInterface = 0x0000 >> >> Endpoint 0 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0003 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0040 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 1 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0081 >> bmAttributes = 0x0002 >> wMaxPacketSize = 0x0040 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> #* >> >> Userland software, such as sane-find-scanner, is currently sure this is >> is just a printer. I would like this device to introduce itself for what >> it is ... a printer + a color scanner. >> Is it feasible? Are there any well-established techniques to (try to) >> reach the goal? >> >> Thanks for any link/suggestion >> > Hi, > > Maybe you have to switch some button on the printer. Only one driver can use a > set of IN and OUT endpoints at a time in an interface. Maybe the original > driver has a multiplexer on top? I've seen quite a bit of this sort of thing. usually there are separate interface descriptors (can we handle that?) but I've also seen examples of this where there appear to be setups that would normally require a separate driver. maybe there should be a way to split out an endpoint and provide it with a virtual separate interface. (speaking in USB terms) > --HPS > _______________________________________________ > freebsd-usb@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-usb > To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org" >