[snd_uaudio] PCM device volume not modifiable

Hi,
I have a gaming headset (Steelseries Arctis 7) which has two devices - one for main sound (game sound) and another for chat sound (lower quality) and mic. Once I set the default pcm, sound works well and on programs that allow you to select devices, I am able to use the microphone.

The issue is that I cannot modify the volume (or mute) the main sound, whether I try with mixer or sysctl. Another related problem is that it seems that the main sound is paired with the mic under one pcm device and the chat sound is by itself. Changing the volume or muting any of the other mixers with sysctl do nothing either. Please have a look at the outputs below. Thanks.

mixer -a
Code:
...
pcm6:mixer: <USB audio> at ? kld snd_uaudio (play/rec) (default) # main sound w/mic
    vol       = 0.80:0.80     pbk
    pcm       = 0.80:0.80     pbk
    rec       = 0.79:0.79     pbk
pcm7:mixer: <USB audio> at ? kld snd_uaudio (play) # chat sound (should be with rec/mic)
    vol       = 0.80:0.80     pbk
    pcm       = 0.80:0.80     pbk

sysctl dev.pcm.6
Code:
dev.pcm.6.feedback_rate: 0
dev.pcm.6.mixer.mute_3.desc:
dev.pcm.6.mixer.mute_3.max: 1
dev.pcm.6.mixer.mute_3.min: 0
dev.pcm.6.mixer.mute_3.val: 1
dev.pcm.6.mixer.vol_2.desc:
dev.pcm.6.mixer.vol_2.max: 0
dev.pcm.6.mixer.vol_2.min: -16384
dev.pcm.6.mixer.vol_2.val: -2228
dev.pcm.6.mixer.mute_1.desc:
dev.pcm.6.mixer.mute_1.max: 1
dev.pcm.6.mixer.mute_1.min: 0
dev.pcm.6.mixer.mute_1.val: 1
dev.pcm.6.mixer.vol_0.desc:
dev.pcm.6.mixer.vol_0.max: 1536
dev.pcm.6.mixer.vol_0.min: -16384
dev.pcm.6.mixer.vol_0.val: -2228
dev.pcm.6.mode: 7
dev.pcm.6.bitperfect: 0
dev.pcm.6.buffersize: 0
dev.pcm.6.rec.vchanformat: s16le:2.0
dev.pcm.6.rec.vchanrate: 48000
dev.pcm.6.rec.vchanmode: fixed
dev.pcm.6.rec.vchans: 1
dev.pcm.6.play.vchanformat: s16le:2.0
dev.pcm.6.play.vchanrate: 48000
dev.pcm.6.play.vchanmode: fixed
dev.pcm.6.play.vchans: 3
dev.pcm.6.hwvol_mixer: vol
dev.pcm.6.hwvol_step: 5
dev.pcm.6.%parent: uaudio0
dev.pcm.6.%pnpinfo:
dev.pcm.6.%location:
dev.pcm.6.%driver: pcm
dev.pcm.6.%desc: USB audio

sysctl dev.pcm.7
Code:
dev.pcm.7.feedback_rate: 0
dev.pcm.7.mode: 3
dev.pcm.7.bitperfect: 0
dev.pcm.7.buffersize: 0
dev.pcm.7.play.vchanformat: s16le:2.0
dev.pcm.7.play.vchanrate: 48000
dev.pcm.7.play.vchanmode: fixed
dev.pcm.7.play.vchans: 1
dev.pcm.7.hwvol_mixer: vol
dev.pcm.7.hwvol_step: 5
dev.pcm.7.%parent: uaudio0
dev.pcm.7.%pnpinfo:
dev.pcm.7.%location:
dev.pcm.7.%driver: pcm
dev.pcm.7.%desc: USB audio
 
Bumping my own post after I've been obsessing over this in my free time recently.

This headset must be a really strange device, because I found that the channels are all mixed and matched.

When I set the default device to pcm7, I can control the volume on both pcm7.vol and pcm6.vol, but the quality is awful, so I know that it's the "chat" channel of this headset.

Perhaps there is a way to untangle them with hints.pcm, but I haven't gotten that far yet and it seems like it would be a confusing configuration.
 
Back
Top