[alsa-devel] S51 usb support

Daniel Mack daniel at caiaq.de
Mon Oct 4 06:41:52 CEST 2010


On Sun, Oct 03, 2010 at 11:22:00PM +0200, Matti Picus wrote:
> My X-FI Surround USB card is barely usable. pulseaudio will let me 
> control the volume levels, alsa support cannot view any volume controls.

But audio streaming does work for you? I heard people reporting success
with this kind of hardware.

> How can I contribute to better support for this card under alsa? I would 
> like to get to the point where amixer can control the analog 
> input/output volume levels.

As for the volume controls, there are merely two ways how they can be
implemented on USB soundcards. One is as feature unit control, and the
other is a proprietary vendor specific USB request. You should start
having a look at the USB descriptors the devices exports (by running
"lsusb -v").

In case the card does not offer a standard way to control the volume
levels, you need to trace how the Windows driver does it by sniffing
the communication while performing this specific operation, either with
an USB hardware analyzer, or with a piece of software. There are some
projects aiming for this, but I can't give you any recommendation. Just
try some of these, maybe:

  http://www.google.com/search?q=windows+usb+traffic+sniffer

Once you found out how they do it in Windows, you can add device
specific mixer handlers, as they exist for other hardware. Have a look
at sound/usb/mixer_quirks.c.

Hope that helps,

Daniel



More information about the Alsa-devel mailing list