I have 2 usb card, one is usb dac with speaker jack connected (and capture jack is not used) and another in microphone usb.

I modified my asoundrc to play 2 sound together with dmix plugin, adapted since https://stackoverflow.com/a/14398926/6268583

# Speaker (usb dac with jack output and input jack)
pcm.dmixed {
    type dmix
    ipc_key 1024
    ipc_key_add_uid 0
    slave.pcm "hw:1,0"
# Micro usb
pcm.dsnooped {
    type dsnoop
    ipc_key 1025
    slave.pcm "hw:2,0"

pcm.duplex {
    type asym
    playback.pcm "dmixed"
    capture.pcm "dsnooped"

# Instruct ALSA to use pcm.duplex as the default device
pcm.!default {
    type plug
    slave.pcm "duplex"

ctl.!default {
    type hw
    card 1

But with this ctl.!default I only can control with alsamixer the usb dac and not my usb microphone.

If I changed this actual ctl.!default to

ctl.!default {
    type plug
    slave.pcm "duplex"

It's doesn't work

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_ctl_plug.so
cannot open mixer: No such device or address

Do you have idea ?


There is only a single control device for each card, so it is no ctl plugin that allow to change what controls are shown.

You have to manually select the playback/capture device in alsamixer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.