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


_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to