On Thu, Feb 6, 2020 at 3:35 PM Pavel Hofman <pavel.hofman@xxxxxxxxxxx> wrote: > > Hi, > > The existing UAC2 implementation presents itself as asynchronous > USB_ENDPOINT_SYNC_ASYNC > https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L276 > + > https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L285 > . > > However: > 1) The function does not define any feedback endpoint > > 2) IMO in reality it is adaptive - the g_audio capture device accepts > any data passed by the USB host, the USB host is the one which defines > the data pace. > > While Linux and reportedly OSX accept the async EP OUT without explicit > feedback EP IN, Windows does not. > > Simply changing USB_ENDPOINT_SYNC_ASYNC to USB_ENDPOINT_SYNC_ADAPTIVE > for the FS and HS output endpoints fixes the windows problem and IMO > corrects the config to reflect real function. > > There are multiple projects underway adding the async feedback EP, but > in the meantime I think the .bmAttributes information should be changed > as above, making the device usable in Windows for everyone. Are you working on async feedback EP implementation? I'm interested in that feature and I can implement it soon but do not want to do double work if somebody is already working on it and will send to the community soon Thanks, Ruslan > > Thanks a lot for considering. > > Best regards, > > Pavel.