Hi Feng,
  I'm still working to get my environment setup so I can see the debug
messages from the USB stack.
In the meantime, I made a simple test driver that looks for a USB webcam
streaming interface and tries to select the first alternate.  The product
I'm writing a driver for isn't a webcam but that is the most common USB
device with alternate settings.
I wasn't sure if I should post the code to the list since it's not code to
include in edk2 so I've made the source available at this link:
https://www.yousendit.com/download/bXBhakluT2IwVW12eE1UQw

Regards,
Eric

> -----Original Message-----
> From: Tian, Feng [mailto:feng.t...@intel.com]
> Sent: Thursday, June 11, 2015 12:26 AM
> To: edk2-devel@lists.sourceforge.net; e...@frescologic.com
> Cc: Tian, Feng
> Subject: RE: [edk2] USB question: how change to a different alternate
setting
> of an interface?
> 
> Hi, Eric
> 
> It should be enough to get alternative setting through these two steps you
> did.
> 
> Could you let me know whether you saw this debug message "
> UsbSelectSetting: setting %d selected for interface %d " got printed ? and
> which values are in the printed message?
> 
> Thanks
> Feng
> 
> -----Original Message-----
> From: Eric Wittmayer [mailto:e...@frescologic.com]
> Sent: Thursday, June 11, 2015 14:20
> To: edk2-devel@lists.sourceforge.net
> Subject: [edk2] USB question: how change to a different alternate setting
of
> an interface?
> 
> Hello all,
> I'm new to the list and to edk2/uefi.  I'm working on a USB device driver
for a
> device that has interrupt endpoints declared on interface alternate #1.
So
> the default interface descriptor has zero endpoints and the alternate 1
> interface descriptor has 2 endpoints.  I am able to use
> UsbIo->UsbControlTransfer to send a Set Interface command to the device
> UsbIo->and
> I can see on my usb analyzer that it does get sent.
> After that I call UsbIo->UsbGetInterfaceDescriptor again to get what I
> expected was the interface descriptor for alternate #1 but I get back the
> same descriptor as before I set the interface.
> Looking through the code I can see in the XhciDxe code for
> XhcControlTransfer that it handles updating the xhci controllers
> representation of the endpoints when it sees the select interface command
> but I'm not sure if there is something else I need to do in order to
update the
> data returned by UsbGetInterfaceDescriptor.
> 
> How do I get the correct descriptors for the newly active alternate
setting?
> Will they have a different UsbIo protocol handle and if so how do I find
it?
> 
> Thanks for any help.
> Eric
> 
> 
> 
>
----------------------------------------------------------------------------
--
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to