CM106 usb sound card incorrectly detected as stereo only

Bug #535476 reported by Jeff Fortin Tam
86
This bug affects 17 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

My usb CM106 card is 5.1 capable but pavucontrol and gnome-volume-control will only let me set it as if it was a stereo device.

- On another computer running ubuntu 9.10 (a desktop with an onboard ICH9 surround card), this is correctly recognized as 5.1 capable, no matter what system account I am using (so it's not a configuration issue)
- On a third computer, a laptop with onboard stereo, this usb sound card exhibits the same problem: it is recognized only as stereo.

ProblemType: Bug
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: jeff 1115 F.... pulseaudio
 /dev/snd/controlC0: jeff 1115 F.... pulseaudio
 /dev/snd/pcmC0D0c: jeff 1115 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'ICH6'/'Intel ICH6 with AD1981B at irq 22'
   Mixer name : 'Analog Devices AD1981B'
   Components : 'AC97a:41445374'
   Controls : 26
   Simple ctrls : 18
Card1.Amixer.info:
 Card hw:1 'default'/'USB Sound Device at usb-0000:00:1d.1-2, full speed'
   Mixer name : 'USB Mixer'
   Components : 'USB0d8c:0102'
   Controls : 14
   Simple ctrls : 6
Date: Tue Mar 9 21:39:12 2010
DistroRelease: Ubuntu 10.04
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Alpha i386 (20100113)
Package: alsa-base 1.0.22.1+dfsg-0ubuntu3
PackageArchitecture: all
ProcEnviron:
 LANG=en_CA.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: alsa-driver
Symptom: audio
Title: Soundcard not detected
Uname: Linux 2.6.32-16-generic i686

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote :

Hi Jean-François,

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-triage needs-required-logs needs-test-current-image
Changed in alsa-driver (Ubuntu):
status: New → Incomplete
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

There was no 'needs-upstream-testing' tag, only a "needs-test-current-image" tag (which I removed).
Tested with mainline 2.6.34.

Changed in alsa-driver (Ubuntu):
status: Incomplete → New
tags: removed: needs-test-current-image
Revision history for this message
Reinaldo C Filho (reinaldocfilho) wrote :

This still happens on the latest version, updated today in 09 of april of 2011.

The card works properly until I simply try to change the "Analog Output" to something else, then if I try to switch back, I can't get sound anymore with my USB headphone, it's the same model, CM106 USB Sound Card that came embeeded from an Clone Audio Headset.

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

For the record: I don't have this piece of hardware anymore, so won't be available for further testing.

Revision history for this message
computerwiz_222 (computerwiz222) wrote :

I still have this device. It is being recognized as a stereo sound card but it supports 7.1 channel audio. It worked quite well in Ubuntu 10.10 but the channels were all swapped (left->right, center->sub, rear-left->rear-right and vice versa).

Has any progress been made?

Revision history for this message
Dana Goyette (danagoyette) wrote :

I'm having similar issues with my Turtle Beach Audio Advantage SRM (based on CM106).
Here's a cheap one on Newegg: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/513634

Notably, the device itself is buggy. With Windows 7 default drivers, it claims only 7.1 channel support. No 5.1, nor even stereo. On top of that, it's totally silent. It takes their proprietary driver to get it working reasonably.

With Linux, the same 7.1-only limitation applies... but when hotplugged, PulseAudio sees it as only stereo INPUT.
If I kill pulseaudio, it defaults to muted, but works when I unmute it... until I change output type away from "analog speakers".
Then it drops the slider to zero and won't bring it back.

Now I only see one Speaker slider, instead of the two I saw before... but it has likely totally bogus dB values (between +0.0 and +0.14).

There are a number of reports on this bugtracker related to this buggy hardware (CM106).

Revision history for this message
Dana Goyette (danagoyette) wrote :

Related bug report (same buggy device, different symptoms): https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/535453
I'll also post the comments there.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
Revision history for this message
Lord_JABA (lordjaba) wrote :

i have usb 5.1 headset based on cm106. and it's recognized as analog stereo(works fine under win7)

Revision history for this message
Lord_JABA (lordjaba) wrote :

after issuing "pulseaudio -k" after p[lugging headset everything works great

Revision history for this message
Matej Urbas (matej-urbas) wrote :

I have the same problem. The sound card is 5.1 capable but is recognised as stereo only. I am using Ubuntu 12.04, kernel 3.2.0-27-generic #43-Ubuntu SMP x86_64.

Is there a workaround or some guide on how to make it working?

Revision history for this message
Matej Urbas (matej-urbas) wrote :

Actually, I found a workaround for this (apologies if it has already been pointed out):

1. Install pulseaudio-utils:

    apt-get install pulseaudio-utils

2. Run `pacmd`.

    pacmd

3. Now find the offending sound card via `list-cards` (in pulseaudio's interactive command line):

    list-cards

4. Now set the desired profile of the card (my card was at index 2, its long name was `USB Sound Device at usb-0000:06:00.0-1, full speed`).

    set-card-profile 2 output:analog-surround-51

Btw, Fedora 17 had this 'profile selection' in the Gnome's Sound Preferences UI. In Fedora it worked out of the box.

Revision history for this message
luca (llucax) wrote :

For me using pacmd doesn't work. The workarround that worked for me is to restart pulseaudio as suggested in comment #13. Then all the different audio profiles appears in both pacmd and the gnome control panel as expected.

Revision history for this message
Raymond (superquad-vortex2) wrote :

can you.post the pulseaudio log?

pulseaudio -vvvv

Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer - Side Left - Side Right
  Limits: Playback 0 - 197
  Mono:
  Front Left: Playback 196 [99%] [0.00dB] [on]
  Front Right: Playback 196 [99%] [0.00dB] [on]
  Rear Left: Playback 196 [99%] [0.00dB] [on]
  Rear Right: Playback 196 [99%] [0.00dB] [on]
  Front Center: Playback 196 [99%] [0.00dB] [on]
  Woofer: Playback 196 [99%] [0.00dB] [on]
  Side Left: Playback 196 [99%] [0.00dB] [on]
  Side Right: Playback 196 [99%] [0.00dB] [on]

Revision history for this message
JohnFlux (johnflux) wrote :

I have this same bug.

I have found a workaround.

$ sudo nano /etc/pulse/daemon.conf

Replace:

; default-sample-channels = 2

with

default-sample-channels = 6

(Note the removal of the ";" and the changing of 2 to 6 )

Now reboot or do: "pulseaudio -k"

And that worked for me.

Revision history for this message
JohnFlux (johnflux) wrote :
Revision history for this message
JohnFlux (johnflux) wrote :
Revision history for this message
JohnFlux (johnflux) wrote :
Revision history for this message
Raymond (superquad-vortex2) wrote :

W: [pulseaudio] alsa-mixer.c: Volume element Speaker has 8 channels. That's too much! I can't handle that!
D: [pulseaudio] alsa-mixer.c: Probe of element 'Speaker' failed.

Revision history for this message
maximi89 (maximi89) wrote :

The problem of stereo with this device is due to the configuration of the .asoundrc file, When I connected this device in my LinuxMint 16 it detected it as a stereo device, but later applied the configuration recommended at http://www.6by9.net/output-to-multiple-audio-devices-with-alsa/

it started to work as a 5.1 device... if you kill pulseaudio and just let ALSA, you will know it's ALSA who is not working as a 5.1 but detecting it's 5.1, alsamixer...

Revision history for this message
Raymond (superquad-vortex2) wrote :
Revision history for this message
Georg Richter (georgrichter-k) wrote :

I can confirm there is something wrong with this USB audio Chipset. The CM106 shows up in lsusb as
"C-Media Electronics, Inc. CM106 Like Sound Device"
It is used in external sound cards etc., offering up to 7.1 audio channles, mic + line in, microphone and headphone connectors. And SPDIF, but I never used that.

On Ubuntu 12.04 (original release) it was recognized and worked. It offered a bunch of profiles, of which I extensively used the '5.1 output only' one. I also tested the mic input and headphone connectors in other profiles: worked. Sometimes upon plugging in the card it was only recognized as stereo capable device or it was recoginizedas 5.1, but the stereo profile had been selected. Adjusting the settings or killing pulseaudio usually worked. Sometimes also the settings for the balancers got lost.
Minor drawback: The card was always set to max volume upon plugging in, no matter what the volume regulator said. Therefore I had to manually switch back to my internal soundcard, then select again the CM106 and finally adjust the volume.

Since some recent kernel upgrade (for ubuntu 12.04, but during spring 2014) this all vanished. I now experience the same problems as described above, with the card being only recognized as stereo device. This applies on current Ubuntu 12.04 versions as well as on Ubuntu 14.04. The problem is not dependent on the other hardware of the computer (checked with four entirely different computers).

As it once worked a fix might be easily possible, but someone with knowledge of pulseaudio has to look into it. Is there any solution in sight?

If anyone is willing to work on this bug I might gladly offer him or her such an device not only for fixing this bug but also as a little reward for the effort.

Revision history for this message
Raymond (superquad-vortex2) wrote :

http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa?id=527078523815587bfd021bc1d10782403e9b3e84

it was expilicitly disabled by the above patch

you need to ask the author if you think it is regression

Revision history for this message
Eik Iemer (eikiemer) wrote :

Thanks guys, Matej Urbas instructions worked for me!

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

This release of Ubuntu is no longer receiving maintenance updates. If this is still an issue on a maintained version of Ubuntu please let us know.

Changed in alsa-driver (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for alsa-driver (Ubuntu) because there has been no activity for 60 days.]

Changed in alsa-driver (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.