alsa-project/alsa-lib issue #166 was opened from michele-perrone: ### M-Audio Audiophile USB - fix needed There is a problem with the ALSA configuration of the "M-Audio Audiophile USB" sound card. From the linux kernel documentation (https://www.kernel.org/doc/html/latest/sound/cards/audiophile-usb.html) you can see that this card has four audio interfaces: * Analog 2-channel Input (Ai) * Analog 2-channel Output (Ao) * Digital 2-channel Input (Di) * Digital 2-channel Output (Do) These interfaces are distributed over three devices of the same card: * hw:USBtm,0 is Ao in playback and Di in capture * hw:USBtm,1 is Do in playback and Ai in capture * hw:USBtm,2 is Do in AC3/DTS passthrough mode Now, this is where ALSA makes a bit of a mess. If you look at the output of `aplay - L` (see attachment aplay_out.txt), you can see that the analog audio output is associated to CARD=USBtm,DEV=0 (which is correct), **but** you can also see that two digital outputs are assigned, one to CARD=USBtm,DEV=0 (**wrong!**) and another one to CARD=USBtm,DEV=1 (correct). Speaking now of `arecord - L` (see attachment arecord_out.txt), there is only one input assigned to CARD=USBtm,DEV=0, and it is marked as "Front output / input" instead of SPDIF digital input. And most importantly, the analog input configuration, which should correspond to CARD=USBtm,DEV=1, is completely absent. The result of this is that audio applications relying on ALSA don't know where to pick the correct inputs and outputs. If want both Ao and Ai to work in Jack, I have to select hw:USBtm,1 for the input and hw:USBtm,0 for the output. Alternatively, I have to create an `.asoundrc` file with the `asym` module (see attachment) and then run Jack with the name of my virtual device. However, this is just a workaround. I'm not familiar with the alsa source but I know my way around C code. If you tell me where to look, I may be able to help fixing this. Cheers! Michele Attachments: [aplay_out.txt](https://github.com/alsa-project/alsa-lib/files/6911115/aplay_out.txt) [arecord_out.txt](https://github.com/alsa-project/alsa-lib/files/6911116/arecord_out.txt) [asoundrc.txt](https://github.com/alsa-project/alsa-lib/files/6911119/asoundrc.txt) Issue URL : https://github.com/alsa-project/alsa-lib/issues/166 Repository URL: https://github.com/alsa-project/alsa-lib