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:<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?
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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"