0

I have a raspberry pi with an IQAudio DAC+ hat installed, running the Volumio linux distribution.

The card works well. I've set the dsp.alsa.device setting to device:1 and this outputs the audio correctly over the DAC hat.

But the CMUS volume control doesn't work.

I think I have to set mixer.alsa.channel and mixer.alsa.device in CMUS. Right now, they are set to

mixer.alsa.channel     PCM
mixer.alsa.device      default

What device name and channel name do I use?

I've tried these combinations:

mixer.alsa.channel     PCM
mixer.alsa.device      default:1

mixer.alsa.channel     Digital
mixer.alsa.device      default:1

mixer.alsa.channel     PCM
mixer.alsa.device      IQAudioIODac

mixer.alsa.channel     Digital
mixer.alsa.device      IQAudioIODac

mixer.alsa.channel     PCM
mixer.alsa.device      default:CARD=IQaudIODAC

mixer.alsa.channel     Digital
mixer.alsa.device      default:CARD=IQaudIODAC

But CMUS always gives the error message Error: can't change volume: mixer is not open.

Should I use a different CMUS setting?

Here's my output from aplay -l:

card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 6/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: IQaudIODAC [IQaudIODAC], device 0: IQaudIO DAC HiFi pcm512x-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

And here's my output from aplay -L:

hw:CARD=ALSA,DEV=0
    bcm2835 ALSA, bcm2835 ALSA
    Direct hardware device without any conversions
hw:CARD=ALSA,DEV=1
    bcm2835 ALSA, bcm2835 IEC958/HDMI
    Direct hardware device without any conversions
plughw:CARD=ALSA,DEV=0
    bcm2835 ALSA, bcm2835 ALSA
    Hardware device with all software conversions
plughw:CARD=ALSA,DEV=1
    bcm2835 ALSA, bcm2835 IEC958/HDMI
    Hardware device with all software conversions
default:CARD=IQaudIODAC
    IQaudIODAC, 
    Default Audio Device
sysdefault:CARD=IQaudIODAC
    IQaudIODAC, 
    Default Audio Device
dmix:CARD=IQaudIODAC,DEV=0
    IQaudIODAC, 
    Direct sample mixing device
dsnoop:CARD=IQaudIODAC,DEV=0
    IQaudIODAC, 
    Direct sample snooping device
hw:CARD=IQaudIODAC,DEV=0
    IQaudIODAC, 
    Direct hardware device without any conversions
plughw:CARD=IQaudIODAC,DEV=0
    IQaudIODAC, 
    Hardware device with all software conversions
0
1

The way I got it working is that I used set mixer.alsa.device=hw:1

If you type in alsamixer, hit F6 and choose your sound card, and then F6 again "enter your device name", it should show up the right mixer setting name.

1
  • Hello. Could you tell whether the setting is mixer.alsa.device=hw:1 or set mixer.alsa.device=hw:1? You can edit your answer and format your inline code with a backtick "`" before and after the code to separate it from other text. It will render as the code in this comment. Where do you put that setting? – Roman Riabenko Nov 14 '20 at 4:37
1

for my usb audio dongle on rpi3, these settings worked:

set dsp.alsa.device=hw:1

set mixer.alsa.channel=hw:1

set mixer.alsa.device=USB Mixer

set output_plugin=alsa

FYI, I got the mixer device name from the cmd alsamixer info

0

Set softvol=true in CMUS settings panel.

My guess is that CMUS now just adjusts the volume of it's own output, instead of trying to change the volume externally. So, no longer needed to find the correct mixer.

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.