[PATCH Fix for Kingston HyperX Amp (0951:16d8) 0/1] snd-usb-audio: Fix Kingston HyperX Amp (0951:16d8).

crwulff at gmail.com crwulff at gmail.com
Sat Mar 7 19:57:40 CET 2020


From: Chris Wulff <crwulff at gmail.com>

The newer version of the HyperX Amp USB audio sound card appears to use two
separate interfaces for controls and audio. This doesn't work well with the
current linux kernel (tested with 5.4).

Interface 0 has just a mute control, while interface 2 has mute and volume
controls for both playback and capture. This appears to cause a couple different
issues. 

The first is that the wrong interface is used to query most of the controls,
resulting in lots of messages like this:

usb 1-3: 12:0: cannot get min/max values for control 2 (id 12)

The second problem is that since it is enumerated as two separate interfaces,
the device gets registered and then the capture stream gets merged into the
already-registered pcm device (which results in the udev events not being
generated for the capture stream and no /dev/snd/pcmC#D#c file.)

This patch fixes both those problems, and allows the device to be used with
ALSA programs, but pulseaudio does not enumerate the capture device correctly
since it is pcmC#D1c and there is no pcmC#D0c. Adding a symlink from
pcmC#D0c -> pcmC#D1c fixes pulseaudio but I'm not sure exactly why pulseaudio
can't find the device without it.


More information about the Alsa-devel mailing list