On Monday 11 February 2008 11:53:12 David Brownell wrote:
> They use two interfaces (and potentially more):
>
>   - Control ... the one passed to probe(), possibly with one interrupt
>     endpoint used to send status to the host.  Descriptors are coupled
>     to this interface, including the "union" descriptor (more below).
>
>   - Data ... the one with in/out endpoints (and sometimes, altsettings).
>
> CDC Union descriptors are used to couple data interfaces to control
> interfaces.  The bind() is what parses the CDC descriptors then, among
> other things, figures out which data interface to use ... and thus,
> nothing before bind() can figure out which endpoints to use.

Thanks. 

This is kind of strange as my smartphone interface does look something like 
you describe. One interface with interrupt only and another one with in/out 
(see below). Does this mean my device should be supported by another (CDC) 
driver?

Still it is "working" with the rndis_host driver ...

[EMAIL PROTECTED]:~$ sudo lsusb -v -d 0bb4:0bce

Bus 003 Device 017: ID 0bb4:0bce High Tech Computer Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         1 ?
  bDeviceProtocol         1 Microsoft ActiveSync
  bMaxPacketSize0        64
  idVendor           0x0bb4 High Tech Computer Corp.
  idProduct          0x0bce
  bcdDevice            0.00
  iManufacturer           1 HTC
  iProduct                2 Generic RNDIS
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           62
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       239 Miscellaneous Device
      bInterfaceSubClass      1 ?
      bInterfaceProtocol      1 Microsoft ActiveSync
      iInterface              0
      Class specific interface descriptor for class 239 is unsupported
      Class specific interface descriptor for class 239 is unsupported
      Class specific interface descriptor for class 239 is unsupported
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
[EMAIL PROTECTED]:~$
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to