Bug 507205 - pulseaudio 0.9.15-14 breaks support for M Audio Audiophile 24/96 card
pulseaudio 0.9.15-14 breaks support for M Audio Audiophile 24/96 card
Status: CLOSED DUPLICATE of bug 499435
Product: Fedora
Classification: Fedora
Component: alsa-lib (Show other bugs)
11
All Linux
low Severity medium
: ---
: ---
Assigned To: Jaroslav Kysela
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-21 12:35 EDT by Dennis Jacobfeuerborn
Modified: 2009-09-07 18:38 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-07 18:38:03 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
output for 0.9.15-14 release which does not work (71.73 KB, text/plain)
2009-06-21 12:35 EDT, Dennis Jacobfeuerborn
no flags Details
output for 0.9.15-11 release which does work (50.03 KB, text/plain)
2009-06-21 12:36 EDT, Dennis Jacobfeuerborn
no flags Details

  None (edit)
Description Dennis Jacobfeuerborn 2009-06-21 12:35:36 EDT
Created attachment 348800 [details]
output for 0.9.15-14 release which does not work

I just made a fresh install of F11 x86_64 and found that my audio card doesn't work properly. This was a suprise since it did work perfectly fine with the Fedora 11 x86_64 LiveCD. So since the kernel in the updates repo is the same as the one in the release but the pulseaudio release differs I downgraded the -14 release to the -11 that shipped with the LiveCD and that brought back audio for me.

I'll attach the "pulseaudio -vvv" setup for both cases (notice that one has a "PLAYBACK" stream for the device "M Audio Audiophile 24/96" and the other has not).

These are the packages I downgraded to:
pulseaudio-0.9.15-11.fc11.x86_64
pulseaudio-libs-0.9.15-11.fc11.x86_64
pulseaudio-libs-glib2-0.9.15-11.fc11.x86_64
pulseaudio-module-bluetooth-0.9.15-11.fc11.x86_64
pulseaudio-module-gconf-0.9.15-11.fc11.x86_64
pulseaudio-module-x11-0.9.15-11.fc11.x86_64
pulseaudio-utils-0.9.15-11.fc11.x86_64
Comment 1 Dennis Jacobfeuerborn 2009-06-21 12:36:26 EDT
Created attachment 348801 [details]
output for 0.9.15-11 release which does work
Comment 2 carl 2009-06-27 20:37:35 EDT
I am experiencing a similar problem with an M Audio Delta 1010LT, so this may affect all ICE1712 cards. (Sorry if this is obvious)
Comment 3 Lennart Poettering 2009-06-29 07:58:12 EDT
ICE1712 lacks correct definitions for front:xxx, surround51:xxx and so on. Due to that PA is unable to pick them up. This needs to be fixed in ALSA. Reassigning.
Comment 4 Dennis Jacobfeuerborn 2009-06-29 10:16:38 EDT
If that's true why does this work fine in pulseaudio-0.9.15-11 with the same alsa drivers?
Comment 5 Dennis Jacobfeuerborn 2009-07-11 13:52:47 EDT
(In reply to comment #3)
> ICE1712 lacks correct definitions for front:xxx, surround51:xxx and so on. Due
> to that PA is unable to pick them up. This needs to be fixed in ALSA.
> Reassigning.  

I did some bisection on the patches added between -11 and -14 and the patch that breaks the support is this one:

0001-alsa-initialize-buffer-size-before-number-of-period.patch

AFAIKT from the patch this doesn't have anything to do with channel definitions.
Comment 6 Fernando Lopez-Lezcano 2009-07-30 13:14:16 EDT
(In reply to comment #5)
> (In reply to comment #3)
> > ICE1712 lacks correct definitions for front:xxx, surround51:xxx and so on. Due
> > to that PA is unable to pick them up. This needs to be fixed in ALSA.
> > Reassigning.  
> 
> I did some bisection on the patches added between -11 and -14 and the patch
> that breaks the support is this one:
> 
> 0001-alsa-initialize-buffer-size-before-number-of-period.patch
> 
> AFAIKT from the patch this doesn't have anything to do with channel
> definitions.  

Thanks for pinpointing that patch! 

BTW, this all works in Fedora 10 (same soundcard, stock configuration), this is clearly a regression. 

(the following is all done after a clean fc11 i386 install)

I grabbed the pulseaudio 0.9.15-16.fc11 source package from koji, commented out patch5 (the one mentioned in comment #5) and patch22 (one chunk did not patch probably because it depends on patch5) and rebuilt on current Fedora 11 i386. 

After installing the rebuilt packages the SP/DIF stereo output of the ICE1712 soundcard (a Delta66 card with the OmniI/O i/o box) was recognized as a stereo device by pulseaudio (I have no way of confirming that audio was sent out although applications seemed to be happy). Before installing the rebuilt packages only the _input_ of the SP/DIF i/o was recognized by pulseaudio. 

I then edited the ICE1712.conf file to remove the surround definitions and change the front definition in /usr/share/alsa/cards, then rebooted the machine (patched as suggested in posts by Diego Petteno in alsa-devel dated January 20 2009).

The SP/DIF output is again selected as the default output device. Arghh. pavucontrol and the pulse audio control from the panel become unstable and die easily. 

...

Now the interesting part. It _did_ work! The aforementioned steps were done after reinstalling the original packages this morning, and trying to reproduce what I did yesterday afternoon, including reinstalling the rebuilt packages. At some point yesterday I _did_ manage to get stereo output (analog) from pulseaudio with the rebuilt packages (ie: without patch5). Maybe it is default.pa (I was trying some changes there). I don't know what is going on here and can't find any way of knowing so far...

Anyway, the aforementioned patch might fix other cards but definitely breaks ICE1712, it should be fixed or removed from pulseaudio. 

I'll wait for comments from Jaroslav and/or Lennart, otherwise I think the bug should be reassigned to pulseaudio, or split into two bugs (the situation is definitely not clear but at this point I don't believe alsa-lib is solely to blame for this).
Comment 7 Fernando Lopez-Lezcano 2009-07-30 14:05:08 EDT
(In reply to comment #6)
> Now the interesting part. It _did_ work! The aforementioned steps were done
> after reinstalling the original packages this morning, and trying to reproduce
> what I did yesterday afternoon, including reinstalling the rebuilt packages. At
> some point yesterday I _did_ manage to get stereo output (analog) from
> pulseaudio with the rebuilt packages (ie: without patch5). Maybe it is
> default.pa (I was trying some changes there). I don't know what is going on
> here and can't find any way of knowing so far...

Sorry, my fault. When I was trying to look at the SP/DIF output in envy24control earlier (the SP/DIF output vu meters are missing!) I switched to the internal mixer. It may have worked earlier. 

Anyway, it is changes in /etc/pulse/default.pa that finally make it work.

Adding this:

load-module module-alsa-sink sink_name=M66_Analog_Out device=hw:M66
load-module module-alsa-source source_name=M66_Analog_In device=hw:M66

makes the analog outputs of the card work. Interestingly the sound seems to be replicated on channels 1, 2, 3, 4, 5, 7, 8 (notice that 6 is missing, this is from looking at the envy24control pcm output vu meters). 

Adding this instead:

load-module module-alsa-sink sink_name=M66_Analog_Out device=hw:M66 channels=10 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
load-module module-alsa-source source_name=M66_Analog_In device=hw:M66 channels=12 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9

also makes the analog outputs work, but stereo playback goes only to channels 1 and 2 as I would expect. 

Summarizing: patch5 in current .src.rpm breaks ICE1712, in my case even with that the proper output is not recognized and needs a custom default.pa.
Comment 8 Klaus-Peter Schrage 2009-08-02 12:21:25 EDT
Sorry, but isn't this bug a duplicate of bug #499435 ?
Comment 9 Kai Thomsen 2009-08-11 12:22:01 EDT
For my M-Audio Delta 1010LT, I can confirm what Fernando wrote in comment #7, with one addition: In /etc/pulse/default.pa, I also had to comment out HAL auto-detection as well as static hardware detection, otherwise pulseaudio would abort on launch.
Comment 10 Klaus-Peter Schrage 2009-08-11 13:50:43 EDT
(In reply to comment #7)

> load-module module-alsa-sink sink_name=M66_Analog_Out device=hw:M66 channels=10
> channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
> load-module module-alsa-source source_name=M66_Analog_In device=hw:M66
> channels=12
> channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9

Perhaps this question is too dumb:
What changes have to be made to these lines (if any), if your (my) soundcard is a TerraTec DMX6Fire?
Comment 11 Fernando Lopez-Lezcano 2009-08-11 16:14:24 EDT
(In reply to comment #10)
> (In reply to comment #7)
> 
> > load-module module-alsa-sink sink_name=M66_Analog_Out device=hw:M66 channels=10
> > channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
> > load-module module-alsa-source source_name=M66_Analog_In device=hw:M66
> > channels=12
> > channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9
> 
> Perhaps this question is too dumb:
> What changes have to be made to these lines (if any), if your (my) soundcard is
> a TerraTec DMX6Fire?  

I don't really know but you could start by looking at the output of "cat /dev/snd/cards" and replacing hw:M66 above with whatever is the name of your soundcard in there (in between the []'s)
Comment 12 Fernando Lopez-Lezcano 2009-08-11 16:19:27 EDT
(In reply to comment #8)
> Sorry, but isn't this bug a duplicate of bug #499435 ?  

See comment #5, that is not the same issue. But yes, some of the issues discussed in this bug really belong in 499435. Lennart dismissed (incorrectly IMHO) this bug as a "missing multichannel support in alsa" when reverting one patch in the pa build that was failing clearly fixes the issue reported. The patch somehow breaks initialization of the card (although apparently it was added to fix _another_ card, so this would be a regression).
Comment 13 Klaus-Peter Schrage 2009-08-13 12:23:54 EDT
(In reply to comment #11)
> 
> I don't really know but you could start by looking at the output of "cat
> /dev/snd/cards" and replacing hw:M66 above with whatever is the name of your
> soundcard in there (in between the []'s)  

Thank you, I replaced all occurances of M66 with DMX6Fire (that's what 
cat /proc/asound/cards reports as the name of my card) and got the following output (among lots of others lines) from pulseaudio:

I: alsa-util.c: Failed to set hardware parameters on plug:hw:DMX6Fire: Datei oder Verzeichnis nicht gefunden
E: module.c: Failed to load  module "module-alsa-sink" (argument: "sink_name=DMX6Fire_Analog_Out device=hw:DMX6Fire channels=10 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7"): initialization failed.
Comment 14 Lennart Poettering 2009-09-07 18:38:03 EDT

*** This bug has been marked as a duplicate of bug 499435 ***

Note You need to log in before you can comment on or make changes to this bug.