I got this working a few months back. The trick was to change the isoch
endpoints from ASYNC to SYNC as in
.bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_SYNC,
For reasons I no longer recall I also did this:
//.bFunctionSubClass = UAC2_FUNCTION_SUBCLASS_UNDEFINED,
.bFunctionSubClass = UAC2_FUNCTION_DESKTOP_SPEAKER,
The resulting gadget, running on an ARM64 board, interacted with Windows
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> On
Behalf Of Chris Fryer
Sent: 05 December 2019 07:43
Subject: [wdmaudiodev] Linux UAC2 gadget
Following on from this thread from Feb '18
<https://www.freelists.org/post/wdmaudiodev/Raspberry-Pi-OTG-Audio> I'm trying
to get the linux usb 2.0 audio gadget working on Windows 10.
I've added a feedback endpoint but the driver is still failing during load with:
[USBAudio2]FilterGraph::CreateSubDevice: port->Init() failed
Full tracefmt output attached here.
I notice there's a comment that:
[USBAudio2]AudioFunction::ParseAcInterruptEndpoint: No AC Interrupt endpoint
Is that a requirement? Any pointers greatly appreciated.