Howto setup C-Media USB Audio Adapter and Linux

On this page you will a find a short guide on how to set up this audio adapter under Linux and make it work.
I wrote it because when I searched google I found nothing about this Hardware (and - by the way - it was a bargain on amazon).

All comments, suggestions etc. are welcome. Please contact me at

I needed an external audio adapter for skype because with the soundcard in my computer a microphone didn't work (now after changing to ALSA it does). So I had a look in the 'net and found this hardware really cheap so I thought I would give it a try, although the retailer could not tell me whether it was supported by linux.
Luckily I got it to work :-)

Setting up the USB Audio Adapter

I assume you have the USB-subsystem up and running.
If you are using hotplug, it probably will work out of the box, with usbmgr some customization will be necessary.

Step 1: Kernel-Config

It should work with a vanilla-kernel at least since kernel 2.6.14. The ALSA-USB-module should be part of the kernel, otherwise you would have to patch it.

In addition to the usual ALSA-support, compile (recommended: as a module) usbhid, snd_usb_audio.

The necessary Parameters in the kernel-.config-file are


Step 2: Configure USB-Subsystem

If you are using usbmgr: add these lines to /etc/usbmgr/usbmgr.conf:

# C-Media USB Audio Adapter
vendor 0x0d8c product 0x000c module snd-usb-audio

Restart usbmgr.
Now the kernel-modules will be loaded automatically when plugging in the audio adapter.

After plugging the adapter in for the first time use alsamixer -c 1 (if you already have another soundcard configured as card 0) to adjust the volume levels (for playback and don't forget the microphone!) to your needs.

Step 3: Running skype

Recent versions of skype work with ALSA directly, so there is no reason to play around like described below. Just select in the skype-Options the correct ALSA sound-device for Audio In and Audio Out.

Kept for historical reasons:
I had to play around a lot until a found a solution. Skype obviously
doesn't work with the emulated device /dev/dsp1 (altough play does).
After some research a found some lines that have to be added to ~/.asoundrc or /etc/asound.conf (for system-wide settings) in order to redirect the emulated device /dev/dsp0 to the second ALSA-adapter (which is the USB-adapter).
pcm.dsp0 {
    type plug
    slave.pcm "hw:1,0"

Restart ALSA, run aoss skype (with /dev/dsp0) and have fun.

Written 2005-11-25 - last update 2007-02-10