Installed devices: pcm0: <Intel Tiger Lake (HDMI/DP 8ch)> (play) pcm1: <C-Media Electronics Inc. USB Advanced Audio Device> (play/rec) default when I mute the device: mixer vol.mute=off the result is it lowers down the audio volume a lot, but it is not actually muting anything.
Is it a typo, or did you actually run "mixer vol.mute=off"? This will unmute the device.
I tested this with my USB sound card and cannot reproduce this.
what can I provide or do to debug this?
Could it be that this low-volume sound is coming from your microphone, if any? Was the command you ran "mixer vol.mute=off" or "mixer vol.mute=on"? In the description you wrote "off", but this unmutes the device, but I want to make sure this is a typo. Also it might be helpful as a start to share your hw.snd, dev.pcm.1 and hw.usb.uaudio sysctls, as well as /dev/sndstat with hw.snd.verbose=2.
yes this was a typo. I don't think it comes from the microphone because I can reproduce the same behaviour with a headset plugged in and without (directly on the laptop speakers) (yes my laptop native audio is uaudio). Note the following it done with headset plugged in (3.5 mm jack) without mute (mixer vol.mute=off) # hw.snd hw.snd.maxautovchans: 16 hw.snd.default_unit: 1 hw.snd.default_auto: 1 hw.snd.verbose: 0 hw.snd.vpc_mixer_bypass: 1 hw.snd.feeder_rate_quality: 1 hw.snd.feeder_rate_round: 25 hw.snd.feeder_rate_max: 2016000 hw.snd.feeder_rate_min: 1 hw.snd.feeder_rate_polyphase_max: 183040 hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97 hw.snd.feeder_eq_exact_rate: 0 hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000 hw.snd.basename_clone: 1 hw.snd.compat_linux_mmap: 0 hw.snd.syncdelay: -1 hw.snd.usefrags: 0 hw.snd.vpc_reset: 0 hw.snd.vpc_0db: 45 hw.snd.vpc_autoreset: 1 hw.snd.timeout: 5 hw.snd.latency_profile: 1 hw.snd.latency: 2 hw.snd.report_soft_matrix: 1 hw.snd.report_soft_formats: 1 # dev.pcm.1 dev.pcm.1.feedback_rate: 0 dev.pcm.1.mixer.mute_3.desc: dev.pcm.1.mixer.mute_3.max: 1 dev.pcm.1.mixer.mute_3.min: 0 dev.pcm.1.mixer.mute_3.val: 0 dev.pcm.1.mixer.vol_2.desc: dev.pcm.1.mixer.vol_2.max: 7680 dev.pcm.1.mixer.vol_2.min: 0 dev.pcm.1.mixer.vol_2.val: 1920 dev.pcm.1.mixer.mute_1.desc: dev.pcm.1.mixer.mute_1.max: 1 dev.pcm.1.mixer.mute_1.min: 0 dev.pcm.1.mixer.mute_1.val: 0 dev.pcm.1.mixer.vol_0_1.desc: dev.pcm.1.mixer.vol_0_1.max: 0 dev.pcm.1.mixer.vol_0_1.min: -11520 dev.pcm.1.mixer.vol_0_1.val: -5069 dev.pcm.1.mixer.vol_0_0.desc: dev.pcm.1.mixer.vol_0_0.max: 0 dev.pcm.1.mixer.vol_0_0.min: -11520 dev.pcm.1.mixer.vol_0_0.val: -5069 dev.pcm.1.mode: 7 dev.pcm.1.bitperfect: 0 dev.pcm.1.buffersize: 0 dev.pcm.1.rec.vchanformat: s16le:2.0 dev.pcm.1.rec.vchanrate: 48000 dev.pcm.1.rec.vchanmode: fixed dev.pcm.1.rec.vchans: 1 dev.pcm.1.play.vchanformat: s16le:2.0 dev.pcm.1.play.vchanrate: 48000 dev.pcm.1.play.vchanmode: fixed dev.pcm.1.play.vchans: 3 dev.pcm.1.hwvol_mixer: vol dev.pcm.1.hwvol_step: 5 dev.pcm.1.%iommu: dev.pcm.1.%parent: uaudio0 dev.pcm.1.%pnpinfo: dev.pcm.1.%location: dev.pcm.1.%driver: pcm dev.pcm.1.%desc: C-Media Electronics Inc. USB Advanced Audio Device # /dev/sndstat pcm1: <C-Media Electronics Inc. USB Advanced Audio Device> on uaudio0 (1p:3v/1r:1v) default snddev flags=0xba<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC> [dsp1.play.0]: spd 48000, fmt 0x00200010/0x00210000, flags 0x00002108, 0x00000006 interrupts 2815138, underruns 0, feed 2815137, ready 0 [b:2304/1152/2|bs:2048/1024/2] channel flags=0x2108<TRIGGERED,BUSY,HAS_VCHAN> {userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 -> 0x00210000) -> {hardware} dsp1.play.0[dsp1.virtual_play.0]: spd 48000, fmt 0x00201000/0x00200010, flags 0x1000110c, 0x00000023, pid 75683 (firefox) interrupts 0, underruns 0, feed 25336233, ready 14848 [b:0/0/0|bs:16384/4096/4] channel flags=0x1000110c<RUNNING,TRIGGERED,BUSY,HAS_SIZE,VIRTUAL> {userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {dsp1.play.0} dsp1.play.0[dsp1.virtual_play.1]: spd 48000, fmt 0x08801000/0x00200010, flags 0x10000000, 0x00000063 interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/8192/8] channel flags=0x10000000<VIRTUAL> {userland} -> feeder_root(0x08801000) -> feeder_format(0x08801000 -> 0x08800010) -> feeder_matrix(7.1 -> 2.0) -> feeder_volume(0x00200010) -> {dsp1.play.0} dsp1.play.0[dsp1.virtual_play.2]: spd 48000, fmt 0x00201000/0x00200010, flags 0x1000110c, 0x00000023, pid 83954 (firefox) interrupts 0, underruns 0, feed 22713957, ready 16384 [b:0/0/0|bs:16384/4096/4] channel flags=0x1000110c<RUNNING,TRIGGERED,BUSY,HAS_SIZE,VIRTUAL> {userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {dsp1.play.0} [dsp1.record.0]: spd 48000, fmt 0x00200010/0x00100010, flags 0x00002100, 0x00000045 interrupts 0, overruns 0, feed 0, hfree 768, sfree 2048 [b:768/384/2|bs:2048/1024/2] channel flags=0x2100<BUSY,HAS_VCHAN> {hardware} -> feeder_root(0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_mixer(0x00200010) -> {userland} dsp1.record.0[dsp1.virtual_record.0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000 interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0] channel flags=0x10000000<VIRTUAL> {dsp1.record.0} -> feeder_root(0x00000000) -> {userland} with mute: (mixer vol.mute=on) # hw.snd hw.snd.maxautovchans: 16 hw.snd.default_unit: 1 hw.snd.default_auto: 1 hw.snd.verbose: 2 hw.snd.vpc_mixer_bypass: 1 hw.snd.feeder_rate_quality: 1 hw.snd.feeder_rate_round: 25 hw.snd.feeder_rate_max: 2016000 hw.snd.feeder_rate_min: 1 hw.snd.feeder_rate_polyphase_max: 183040 hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97 hw.snd.feeder_eq_exact_rate: 0 hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000 hw.snd.basename_clone: 1 hw.snd.compat_linux_mmap: 0 hw.snd.syncdelay: -1 hw.snd.usefrags: 0 hw.snd.vpc_reset: 0 hw.snd.vpc_0db: 45 hw.snd.vpc_autoreset: 1 hw.snd.timeout: 5 hw.snd.latency_profile: 1 hw.snd.latency: 2 hw.snd.report_soft_matrix: 1 hw.snd.report_soft_formats: 1 # dev.pcm.1 dev.pcm.1.feedback_rate: 0 dev.pcm.1.mixer.mute_3.desc: dev.pcm.1.mixer.mute_3.max: 1 dev.pcm.1.mixer.mute_3.min: 0 dev.pcm.1.mixer.mute_3.val: 0 dev.pcm.1.mixer.vol_2.desc: dev.pcm.1.mixer.vol_2.max: 7680 dev.pcm.1.mixer.vol_2.min: 0 dev.pcm.1.mixer.vol_2.val: 1920 dev.pcm.1.mixer.mute_1.desc: dev.pcm.1.mixer.mute_1.max: 1 dev.pcm.1.mixer.mute_1.min: 0 dev.pcm.1.mixer.mute_1.val: 0 dev.pcm.1.mixer.vol_0_1.desc: dev.pcm.1.mixer.vol_0_1.max: 0 dev.pcm.1.mixer.vol_0_1.min: -11520 dev.pcm.1.mixer.vol_0_1.val: -11520 dev.pcm.1.mixer.vol_0_0.desc: dev.pcm.1.mixer.vol_0_0.max: 0 dev.pcm.1.mixer.vol_0_0.min: -11520 dev.pcm.1.mixer.vol_0_0.val: -11520 dev.pcm.1.mode: 7 dev.pcm.1.bitperfect: 0 dev.pcm.1.buffersize: 0 dev.pcm.1.rec.vchanformat: s16le:2.0 dev.pcm.1.rec.vchanrate: 48000 dev.pcm.1.rec.vchanmode: fixed dev.pcm.1.rec.vchans: 1 dev.pcm.1.play.vchanformat: s16le:2.0 dev.pcm.1.play.vchanrate: 48000 dev.pcm.1.play.vchanmode: fixed dev.pcm.1.play.vchans: 3 dev.pcm.1.hwvol_mixer: vol dev.pcm.1.hwvol_step: 5 dev.pcm.1.%iommu: dev.pcm.1.%parent: uaudio0 dev.pcm.1.%pnpinfo: dev.pcm.1.%location: dev.pcm.1.%driver: pcm dev.pcm.1.%desc: C-Media Electronics Inc. USB Advanced Audio Device # /dev/sndstat pcm1: <C-Media Electronics Inc. USB Advanced Audio Device> on uaudio0 (1p:3v/1r:1v) default snddev flags=0xba<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC> [dsp1.play.0]: spd 48000, fmt 0x00200010/0x00210000, flags 0x00002108, 0x00000006 interrupts 2829872, underruns 0, feed 2829871, ready 0 [b:2304/1152/2|bs:2048/1024/2] channel flags=0x2108<TRIGGERED,BUSY,HAS_VCHAN> {userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 -> 0x00210000) -> {hardware} dsp1.play.0[dsp1.virtual_play.0]: spd 48000, fmt 0x00201000/0x00200010, flags 0x1000110c, 0x00000023, pid 75683 (firefox) interrupts 0, underruns 0, feed 25468839, ready 13312 [b:0/0/0|bs:16384/4096/4] channel flags=0x1000110c<RUNNING,TRIGGERED,BUSY,HAS_SIZE,VIRTUAL> {userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {dsp1.play.0} dsp1.play.0[dsp1.virtual_play.1]: spd 48000, fmt 0x08801000/0x00200010, flags 0x10000000, 0x00000063 interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:65536/8192/8] channel flags=0x10000000<VIRTUAL> {userland} -> feeder_root(0x08801000) -> feeder_format(0x08801000 -> 0x08800010) -> feeder_matrix(7.1 -> 2.0) -> feeder_volume(0x00200010) -> {dsp1.play.0} dsp1.play.0[dsp1.virtual_play.2]: spd 48000, fmt 0x00201000/0x00200010, flags 0x1000110c, 0x00000023, pid 83954 (firefox) interrupts 0, underruns 0, feed 22846563, ready 14848 [b:0/0/0|bs:16384/4096/4] channel flags=0x1000110c<RUNNING,TRIGGERED,BUSY,HAS_SIZE,VIRTUAL> {userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {dsp1.play.0} [dsp1.record.0]: spd 48000, fmt 0x00200010/0x00100010, flags 0x00002100, 0x00000045 interrupts 0, overruns 0, feed 0, hfree 768, sfree 2048 [b:768/384/2|bs:2048/1024/2] channel flags=0x2100<BUSY,HAS_VCHAN> {hardware} -> feeder_root(0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_mixer(0x00200010) -> {userland} dsp1.record.0[dsp1.virtual_record.0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000 interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0] channel flags=0x10000000<VIRTUAL> {dsp1.record.0} -> feeder_root(0x00000000) -> {userland}
So I see that your device has mixer controls defined under "dev.pcm.1". When you mute the device, it seems that "dev.pcm.1.mixer.vol_0_0|1.val" goes from -5069 to -11520, which seems to be the minimum volume value, as defined in "dev.pcm.1.mixer.vol_0_0|1.min". My first guess would be that "dev.pcm.1.mixer.vol_0_0|1.min" is wrong, and should be 0 instead. In sys/dev/sound/pcm/usb/uaudio.c I see that the ".min" control is read-only, but ".val" is read-write. Is it possible to set ".val" to 0 and see what happens?
if I set it to 0, the volume gets to the maximum.
(In reply to Baptiste Daroussin from comment #7) Right, I'm not really familiar with this, but these values do not make much sense to me. 0 for max and -11520 for min? But even in this case, it seems like the lower bound of your card's volume control is not low enough to actually mute the device. So I would guess that this is either a snd_uaudio or hardware issue.
note that if I plug another uaudio device I got the same kind of values for min/max: dev.pcm.2.feedback_rate: 0 dev.pcm.2.mixer.mute_5.desc: dev.pcm.2.mixer.mute_5.max: 1 dev.pcm.2.mixer.mute_5.min: 0 dev.pcm.2.mixer.mute_5.val: 0 dev.pcm.2.mixer.vol_4.desc: dev.pcm.2.mixer.vol_4.max: -3072 dev.pcm.2.mixer.vol_4.min: -14592 dev.pcm.2.mixer.vol_4.val: -1920 dev.pcm.2.mixer.mute_3.desc: dev.pcm.2.mixer.mute_3.max: 1 dev.pcm.2.mixer.mute_3.min: 0 dev.pcm.2.mixer.mute_3.val: 0 dev.pcm.2.mixer.vol_2_1.desc: dev.pcm.2.mixer.vol_2_1.max: 0 dev.pcm.2.mixer.vol_2_1.min: -12800 dev.pcm.2.mixer.vol_2_1.val: -5632 dev.pcm.2.mixer.vol_2_0.desc: dev.pcm.2.mixer.vol_2_0.max: 0 dev.pcm.2.mixer.vol_2_0.min: -12800 dev.pcm.2.mixer.vol_2_0.val: -5632 dev.pcm.2.mixer.mute_1.desc: dev.pcm.2.mixer.mute_1.max: 1 dev.pcm.2.mixer.mute_1.min: 0 dev.pcm.2.mixer.mute_1.val: 0 dev.pcm.2.mixer.vol_0.desc: dev.pcm.2.mixer.vol_0.max: 0 dev.pcm.2.mixer.vol_0.min: -7680 dev.pcm.2.mixer.vol_0.val: -1920 dev.pcm.2.mode: 7 dev.pcm.2.bitperfect: 0 dev.pcm.2.buffersize: 0 dev.pcm.2.rec.vchanformat: s16le:2.0 dev.pcm.2.rec.vchanrate: 32000 dev.pcm.2.rec.vchanmode: fixed dev.pcm.2.rec.vchans: 1 dev.pcm.2.play.vchanformat: s16le:2.0 dev.pcm.2.play.vchanrate: 48000 dev.pcm.2.play.vchanmode: fixed dev.pcm.2.play.vchans: 1 dev.pcm.2.hwvol_mixer: vol dev.pcm.2.hwvol_step: 5 dev.pcm.2.%iommu: dev.pcm.2.%parent: uaudio1 dev.pcm.2.%pnpinfo: dev.pcm.2.%location: dev.pcm.2.%driver: pcm dev.pcm.2.%desc: Sennheiser Sennheiser SC 1x5 USB but here mute works as expected
Does setting the volume manually to 0 using mixer(8) have the same effect?
yes
I'm not saying this with certainty, but it could be a hardware issue. Maybe you could try seeing if this problem is present on other OSes as well.
I tested on linux and I don't have the problem. I am downloading the linux sources to see if it has quirks for my device.
mixer vol.mute=on doesn't seem to have any effect on a new system I have (but audio seems to work otherwise): hdac0@pci0:0:31:3: class=0x040300 rev=0x11 hdr=0x00 vendor=0x8086 device=0x7a50 subvendor=0x1043 subdevice=0x87fb vendor = 'Intel Corporation' device = 'Raptor Lake High Definition Audio Controller' class = multimedia subclass = HDA No problems on an older intel system: hdac0@pci0:0:31:3: class=0x040380 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02c8 subvendor=0x8086 subdevice=0x2081 vendor = 'Intel Corporation' device = 'Comet Lake PCH-LP cAVS' class = multimedia subclass = HDA
FWIW a recent laptop (Dell 3440) works here: hdac0@pci0:0:31:3: class=0x040100 rev=0x01 hdr=0x00 vendor=0x8086 device=0x51ca subvendor=0x1028 subdevice=0x0c1d vendor = 'Intel Corporation' device = 'Raptor Lake-P/U/H cAVS' class = multimedia subclass = audio
(In reply to Mark Johnston from comment #14) Does the rest of the mixer(8) functionality work (volume setting, recording source selection, ...)?
(In reply to Mark Johnston from comment #14) I don't see the ID 7a50 in pci/hda/hdac.h. Can you post: 1. mixer(8) output for this device. 2. /dev/sndstat with hw.snd.verbose=2 both before and after muting.
Bump.