From owner-freebsd-usb@FreeBSD.ORG Sun Oct 3 10:41:07 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 8FD64106564A for ; Sun, 3 Oct 2010 10:41:07 +0000 (UTC) (envelope-from glimp@live.com) Received: from blu0-omc1-s19.blu0.hotmail.com (blu0-omc1-s19.blu0.hotmail.com [65.55.116.30]) by mx1.freebsd.org (Postfix) with ESMTP id 4E0188FC25 for ; Sun, 3 Oct 2010 10:41:06 +0000 (UTC) Received: from BLU0-SMTP103 ([65.55.116.9]) by blu0-omc1-s19.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Sun, 3 Oct 2010 03:41:06 -0700 X-Originating-IP: [151.49.237.197] X-Originating-Email: [glimp@live.com] Message-ID: Received: from genki.collidiamo.net ([151.49.237.197]) by BLU0-SMTP103.phx.gbl over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Sun, 3 Oct 2010 03:41:05 -0700 Date: Sun, 3 Oct 2010 12:34:33 +0200 From: dan User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.2.9) Gecko/20100920 Thunderbird/3.1.4 MIME-Version: 1.0 To: freebsd-usb@freebsd.org 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-OriginalArrivalTime: 03 Oct 2010 10:41:05.0829 (UTC) FILETIME=[7B72F550:01CB62E7] Cc: 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 10:41:07 -0000 On 03.10.2010 10:19, 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? > > --HPS > > Thanks Hans Petter, the device has no physical switch anywhere. Probably multiplexing is involved. It's worth to note then, if I understand it correctly, that this device does not follow this recommendation I read somewhere: "Important: Do not implement multiplexing over a single USB channel. Software multiplexing is fragile, and the native capabilities of USB should be used for communicating with multiple functions." d