I am attempting to make a USB device composite with CDC and Audio class.
The audio calls and CDC configurations work on their own and the CDC works in the composite but the interfaces in the audio class don't - the host says that they are somehow incorrectly configured (the host does however sent a Setinterface to each of them).
The configuration descriptor defines the CDC interfaces first (as interface association descriptor with CDC control as interface 0 and CDC data as interface 1), followed by 3 audio interfaces (audio control = 2, loud speaker = 3, microphone = 4).
The only thing that I am aware of that should influence the audio configuration when the interfaces are changes is in the audio control interface's function header where two audio interfaces and their first and last interface numbers are specified:
- Audio alone these are 1 and 2.
- With CDC before it (with its two interfaces) 3 and 4 are specified instead.
Has anyone done this or know the details as to what can go wrong?