Hi Andy,

URB_FUNCTION_SELECT_CONFIGURATION, as its name says, selects a
configuration. In your log (which is a bit odd, I must say, with the many
vendor requests at the beginning), you have URB 17 getting the Configuration
Descriptor. URB 18 uses this Configuration Descriptor to select one
configuration/interface.
This is like usb_set_configuration() and usb_set_interface() after
usb_get_descriptor(), as described in
http://usb.cs.tum.edu/usbdoc/node20.html and
http://usb.cs.tum.edu/usbdoc/node21.html

Back to Windows - Quoted from the Win2000 DDK:

_URB_SELECT_CONFIGURATION

struct _USB_SELECT_CONFIGURATION

  struct _URB_HEADER Hdr;
  PUSB_CONFIGRUATION_DESCRIPTOR ConfigurationDescriptor ;
  USB_CONFIGURATION_HANDLE ConfigurationHandle ;
  USBD_INTERFACE_INFORMATION Interface ;
} ;

USB client drivers set up this structure to select a configuration for a USB
device.

Members

Hdr
    Specifies the URB header information. Hdr.Function must be
    URB_FUNCTION_SELECT_CONFIGURATION, and Hdr.Length
    must be the size of the entire URB.

ConfigurationDescriptor
    Points to an initialized USB configuration descriptor that identifies
the
    configuration to be used on the device. If this member is NULL, the
    device will be set into an unconfigured state.

ConfigurationHandle
    Contains a handle that is used to access this configuration on return
    from the host controller driver. USB client drivers must treat this
member
    as opaque.

Interface
    Specifies a variable length array of USBD_INTERFACE_INFORMATION
    structures, each describing an interface supported by the configuration
being
    selected.
    Before the request is sent to the host controller driver, the driver may
select an
    alternate setting for one or more of the interfaces contained in this
array by
    setting members of the USBD_INTERFACE_INFORMATION structure
    for that interface.

    On return from the host controller driver, this member contains a
    USBD_INTERFACE_INFORMATION structure with data about the
    capabilities and format of the endpoints within that interface.

Hope this helps,
..tom


----- Original Message -----
From: "Andy Armstrong" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, March 18, 2001 2:36 PM
Subject: [linux-usb-devel] Anyone know what
URB_FUNCTION_SELECT_CONFIGURATION corresponds to


> I'm currently working on a driver for 3Com's Homeconnect USB Camera[1]
> and as part of the reverse engineering program I'm writing a command
> line tool that I can use to exercise the camera using libusb. On Windows
> 98 I'm using USB Snoopy[2] to capture conversations between the Windows
> driver and the camera. Shortly after the camera is plugged in the driver
> sends a command that USB Snoopy identifies as
>
>  URB_FUNCTION_SELECT_CONFIGURATION
>
> Does anyone know what command that actually is? The full log's at the
> project site[3].
>
> TIA.
>
> [1] http://sourceforge.net/projects/homeconnectusb
> [2] http://www.jps.net/~koma/
> [3] http://ftp1.sourceforge.net/homeconnectusb/plug.log.gz
>
> --
> Andy Armstrong, Tagish
>
> _______________________________________________
> [EMAIL PROTECTED]
> To unsubscribe, use the last form field at:
> http://lists.sourceforge.net/lists/listinfo/linux-usb-devel


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to