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