Only 2 channels detected on echo3g devices

Bug #433573 reported by Dan Quade
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
alsa-lib (Ubuntu)
Fix Released
Wishlist
Daniel T Chen
Nominated for Lucid by Dan Quade

Bug Description

Binary package hint: libasound2

PulseAudio only detects 2 channels (stereo) instead of 6 (or more, depending on your hardware).

Using module-udev-detect, my 6-channel sound card (Echo Audio Gina 3G) is detected only as a stereo device, even though the daemon.conf setting default-sample-channels is set to 6.

The workaround to resolve the issue is manually adding the alsa sink as follows:

load-module module-alsa-sink device=hw:0,0 tsched=0
load-module module-alsa-sink device=hw:0,1 tsched=0

Of course that defeats the purpose for even having PulseAudio, because now I have to make sure the sound card always gets the same index (still problematic in Ubuntu, because other devices may take over index 0) and the udev-detect module cannot be used afterwards, because it doesn't understand that this sink has already been defined manually and therefore duplicates it (as stereo).

However, this is NOT A PULSEAUDIO problem. It is a problem with Alsa (particularly the asound library). As stated in this comment:
http://pulseaudio.org/ticket/648#comment:3
the users pace definition in /usr/share/alsa/cards/ for echo3g cards appears to be missing. To fix this bug the right definition has to be written for Echo Audio 3G cards.

Revision history for this message
Daniel T Chen (crimsun) wrote :

Please attach your modified alsa-lib configuration file.

Changed in alsa-lib (Ubuntu):
status: New → Incomplete
Revision history for this message
Dan Quade (danquade) wrote :

I assume by that you mean one of the files in /usr/share/alsa/cards right?
I haven't modified anything in there.

Revision history for this message
Daniel T Chen (crimsun) wrote : Re: [Bug 433573] Re: Only 2 channels detected on echo3g devices

If you do modify any files, please attach them here so that the
changes can be committed.

Revision history for this message
Dan Quade (danquade) wrote :

I only made a workaround in my /etc/default.pa as described in bug description ... I doubt you'll be committing that.
But I would gladly try to fix the files if I at least knew which ones to look at (and it will probably take me quite a while to figure out what to change, since I'm not exactly an ALSA expert).
I am guessing I probably need to make an entirely new config file for my card's chip (Motorola DSP56361 Digital Signal Processor (rev 01)), right?

Revision history for this message
Dan Quade (danquade) wrote :

OK I've made an experimental DSP56361.conf and pulse still doesn't detect anything. How do I map the card to this config file?

Revision history for this message
Dan Quade (danquade) wrote :

Got it, the config file name has to match the card name (detected by kernel/alsa?).
In my case this is: Echo_Echo3G

So now if I make the "Echo_Echo3G.conf" file, it will be parsed. So far I've used X-Fi's config file as a template, and it works. 5.1 is detected by pulseaudio automatically. All I have to do now is configure this properly then I will post the file for it to be committed.

Daniel T Chen (crimsun)
Changed in alsa-lib (Ubuntu):
status: Incomplete → New
Revision history for this message
Dan Quade (danquade) wrote :

I did it !

I've managed to make a configuration for echo3g devices.
When it is placed in /usr/share/alsa/cards/ PulseAudio will be able to automatically detect surround.
Not only that, but it will also be possible to switch between the following modes:
Stereo, Surround 5.1, 4.0, 4.1, 7.1 and even Digital Stereo Output. I have tested them and they all work!

So I'm attaching the config file: Echo_Echo3G.conf
It is necessary that it is named this way, otherwise it doesn't work.

Now I'm sure the configuration is far from perfect. I am certain it could be optimized a lot, but the important thing is that it works.
It would however be nice if someone could test it on other Echo3G devices, such as Layla 3G for example.

Dan Quade (danquade)
Changed in alsa-lib (Ubuntu):
assignee: nobody → unimatrix (andrejx)
status: New → Fix Released
Revision history for this message
Daniel T Chen (crimsun) wrote :

(Please note that the Status refers to the actual Ubuntu Lucid source package. I'll look at this today.)

Changed in alsa-lib (Ubuntu):
assignee: unimatrix (andrejx) → Daniel T Chen (crimsun)
importance: Undecided → Wishlist
status: Fix Released → Confirmed
Revision history for this message
Dan Quade (danquade) wrote :

Alright, thanks!
And sorry for the wrong status/assignee. I'm still new at this :P

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

This bug was fixed in the package alsa-lib - 1.0.22-0ubuntu6

---------------
alsa-lib (1.0.22-0ubuntu6) lucid; urgency=low

  * debian/patches/b9dbee6-Fix-threading-drain.patch:
    Prevent drain() from blocking in threads.
  * debian/patches/lp433573-Support-Echo3G.patch:
    Fix missing support for Echo3G devices. Thanks,
    unimatrix! (LP: #433573)
 -- Daniel T Chen <email address hidden> Wed, 03 Mar 2010 08:20:24 -0500

Changed in alsa-lib (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.