...but this USB device is more than a printer!
dan
glimp at live.com
Sun Oct 3 10:41:07 UTC 2010
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
More information about the freebsd-usb
mailing list