Multiple audio devices USB

Serhii Cherkasov 81 Reputation points
2022-11-07T08:46:57.94+00:00

Hello. I'm continuing to work with USB, I need to evolve from USB Micro+Speaker to multiple microphones. I failed at descriptor.
Whole descriptor here

The structure of USB+Micro is next:

  • Device descriptor
  • Device qualifier descriptor
  • Configuration descriptor
  • Interface association descriptor
    • Interface descriptor #0 Control
      • Header
      • Clock descriptor
      • AC Input terminal [Speaker]
      • Feature Unit [Speaker]
      • AC Output terminal [Speaker]
      • AC Input terminal [Micro]
      • AC Output terminal [Micro]
    • Interface descriptor #1 Speaker
    • Interface descriptor #2 Micro

I tried two descriptors both failed for me. I don't know if it is my mistake or concept is wrong.
In the first attempt, I did the same things I did when I added micro to speaker: two more terminals and one more interface:

  • Device descriptor
  • Device qualifier descriptor
  • Configuration descriptor
  • Interface association descriptor
    • Interface descriptor #0 Control
      • Header
      • Clock descriptor
      • AC Input terminal [Speaker]
      • Feature Unit [Speaker]
      • AC Output terminal [Speaker]
      • AC Input terminal [Micro]
      • AC Output terminal [Micro]
  • - - AC Input terminal [Micro 2]
  • - - AC Output terminal [Micro 2]
    • Interface descriptor #1 Speaker
    • Interface descriptor #2 Micro
  • - Interface descriptor #3 Micro 2

Then I found another thread with a similar question. Guy there added one more IAD with interfaces

  • Device descriptor
  • Device qualifier descriptor
  • Configuration descriptor
  • Interface association descriptor
    • Interface descriptor #0 Control
      • Header
      • Clock descriptor
      • AC Input terminal [Speaker]
      • Feature Unit [Speaker]
      • AC Output terminal [Speaker]
      • AC Input terminal [Micro]
      • AC Output terminal [Micro]
    • Interface descriptor #1 Speaker
    • Interface descriptor #2 Micro
  • Interface association descriptor
  • - Interface descriptor #3 Control
  • - - Header
  • - - Clock descriptor
  • - - AC Input terminal [Micro]
  • - - AC Output terminal [Micro]
  • - Interface descriptor #4 Micro 2

My problem is I don't know what's wrong: a mistake in descriptors (size calculations, id numbers, etc.) or the concept itself.

Azure RTOS
Azure RTOS
An Azure embedded development suite including a small but powerful operating system for resource-constrained devices.
333 questions
{count} votes

1 answer

Sort by: Most helpful
  1. QuantumCache 20,271 Reputation points
    2023-01-25T08:42:10.1566667+00:00

    Hello @Serhii Cherkasov

    Just checking if you did get any resolution on this reported issue?

    We may need to work offline on this issue with the support team, I think to check the descriptor configurations, including size calculations and ID numbers, to ensure they are correct

    [https://github.com/azure-rtos/usbx

    User's image

    This documentation provides an overview of the Azure RTOS USB Device Stack, including information on the descriptor, endpoints, and device class support. You can find it at this link:
    Azure RTOS USBX Device Stack User Guide

    **Azure RTOS USBX Device Stack User Guide

    Please comment in the below section for further help in this matter, we are happy to help you!**

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.