Date: Sun, 3 Oct 2010 12:34:33 +0200 From: dan <glimp@live.com> To: freebsd-usb@freebsd.org Subject: Re: ...but this USB device is more than a printer! Message-ID: <BLU0-SMTP103A3A540FC05372CCBB08BDC6B0@phx.gbl> In-Reply-To: <201010031019.20329.hselasky@c2i.net> References: <BLU0-SMTP11017EECAE4E191CB096840DC6A0@phx.gbl> <201010031019.20329.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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:<Samsung SCX-4100 Series Samsung> 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<Samsung> >> iProduct = 0x0002<Samsung SCX-4100 Series> >> iSerialNumber = 0x0003<8J21BAKYB28091W.> >> bNumConfigurations = 0x0001 >> #* >> >> and here's the output from "usbconfig dump_curr_config_desc" >> >> #* >> ugen0.3:<Samsung SCX-4100 Series Samsung> 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<no string> >> bmAttributes = 0x00c0 >> bMaxPower = 0x0000 >> >> Interface 0 >> bLength = 0x0009 >> bDescriptorType = 0x0004 >> bInterfaceNumber = 0x0000 >> bAlternateSetting = 0x0000 >> bNumEndpoints = 0x0002 >> bInterfaceClass = 0x0007 >> bInterfaceSubClass = 0x0001 >> bInterfaceProtocol = 0x0002 >> iInterface = 0x0000<no string> >> >> Endpoint 0 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0003<OUT> >> bmAttributes = 0x0002<BULK> >> wMaxPacketSize = 0x0040 >> bInterval = 0x0000 >> bRefresh = 0x0000 >> bSynchAddress = 0x0000 >> >> Endpoint 1 >> bLength = 0x0007 >> bDescriptorType = 0x0005 >> bEndpointAddress = 0x0081<IN> >> bmAttributes = 0x0002<BULK> >> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BLU0-SMTP103A3A540FC05372CCBB08BDC6B0>