-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UAC2: lsusb -v only show first string descriptor when there are several ones #144
Comments
digging into it a bit, it seems channel names for UAC are hardcoded in |
iChannelNames is just an index to the string descriptor for that channel. See I have a USB device here with 8
but it does not have a string descriptor here. You should only have one per channel configuration like this. It's showing up for you as What version of |
Hi! I use usbutils / lsusb 014 (from Debian unstable). The problem is I see only one descriptor per output (first), instead of all the strings per channel, which would be useful to handle alsa configuration (use-case manager, etc). I see no way to get this info with lsusb currently. To get all the channel descriptors, I had to run a windows VM and dump the data there: Note: This windows dump shows the index of descriptor. With another tool (usblyzer, but it was a trial version and I can't export it anymore now), I saw it neatly organized per AudioControl descriptor. |
Well, now I am, thanks for the hint! |
Hi,
trying to implement an alsa UCM2 profile for my USB audio interface (Arturia Minifuse 2), I noticed that when using lsusb -v, I can only see the first channel description in iChannelNames attribute from a cluster.
e.g:
Dumping the usb data under windows, I see all the iChannelNames, there is one per channel (so 4 here). In this case, it should show
Output Left, Output Right, Loopback Left, Loopback Right
or something similar.I suppose the issue is only the first string descriptor (array[0]) is shown, where it should iterate on bNrChannels to get array[1-3] descriptors as well.
Sadly, I'm not fluent enough in C to see where in the code it could be fixed ;)
Thanks!
The text was updated successfully, but these errors were encountered: