Bug 500677 - Several mixer issues with Conexant CX20551 codec (regression, works with upstream 1.0.20)
Several mixer issues with Conexant CX20551 codec (regression, works with upst...
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: Jaroslav Kysela
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2009-05-13 12:40 EDT by Filippo Argiolas
Modified: 2009-09-14 16:19 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-09-14 05:58:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
alsa-info (16.03 KB, text/plain)
2009-05-13 12:40 EDT, Filippo Argiolas
no flags Details
mixer channel pulseaudio should control (412 bytes, text/plain)
2009-05-13 12:42 EDT, Filippo Argiolas
no flags Details
new bigger diff (677 bytes, text/plain)
2009-05-14 12:23 EDT, Filippo Argiolas
no flags Details

  None (edit)
Description Filippo Argiolas 2009-05-13 12:40:40 EDT
Created attachment 343814 [details]

Hi, I'm reporting my mixer issues after reading www.redhat.com/archives/rhl-devel-list/2009-April/msg02321.html.

Some background first:
- my laptop is an HP Pavillion dv2172ea with a hda-intel based soundcard (codec: conexant CX20551 (waikiki), model number 5047)
- sound didn't worked because of mixer issues until about 2 years ago when Tobin Davis received some support (datasheets, test boards) from Conexant to improve this codec (and 5045 as far as I remember but I could be wrong) support.
At that time I helped him testing his patches and we (together with several other testers) managed to get it fully supported. IIRC alsa 1.0.14 has been the first release to get everything right.
Bigger issues were: 2 separate independent PCM channels (which he fixed binding them into a single control), master muting when headphones connected not working, some other stuff with mic volume.

Now, since about a year almost everything he fixed at that time has been reverted or anyway some change in alsa drivers introduced some big regression:
- I have again 2 PCM channels
- There is no master channel but only a Speaker one
- Headphone channel doesn't control headphone volume at all, PCM (the first, PCM-2 has no effect) does it instead
- When headphones are connected Speaker channel stop acting as Master and the only way to control volume is to act directly on PCM

I tried to contact Tobin again but he's not hacking on alsa anymore.
I also tried to bisect what changed but alsa git server is painfully slow (1Kb/s here) and I never had the patience (nor the time) to wait for git clone to complete.

How Pulseaudio is involved? With the new volume applet there is no more chance to select which channel the volume actually controls. It controls PCM channel instead of Speaker as it should (well it should control Master but there is no more Master..)

I'm posting this bug here since reading that mail in fedora-devel I felt there is finally someone willing to fix alsa bugs. I didn't report those bugs before because I'm a quite lazy and with the gstreamer applet (I switched recently from ubuntu), where I could select which channel to control, it worked "good enough".

I'm opening the bug against pulseaudio as suggested in the mail. Please reassign it if this is not the right product to bug.
Comment 1 Filippo Argiolas 2009-05-13 12:42:08 EDT
Created attachment 343815 [details]
mixer channel pulseaudio should control
Comment 2 Lennart Poettering 2009-05-14 11:34:59 EDT
That diff is a bit too short. Please use -N7 or so on diff.

Are you saying that 'Master' is not the control PA should be controlling on your device?
Comment 3 Filippo Argiolas 2009-05-14 12:22:08 EDT
(In reply to comment #2)
> That diff is a bit too short. Please use -N7 or so on diff.

Ok, new one attached. Not sure it adds any useful info though.

> Are you saying that 'Master' is not the control PA should be controlling on
> your device?  

Not exactly. At the moment PA controls 'PCM' channel (as labeled in alsamixer), there is no 'Master', the control that mostly resembles 'Master' functionality is called 'Speaker'.
Mostly, because ideally there should be a 'Master' channel that controls the 'Speaker' channel when no headphone is attached and the 'Headphone' one when they are. Right now 'Headphone' channel has no effect at all and headphone volume seems to be controlled by 'PCM-2'.

Making PA control the 'Speaker' channel would probably be enough on the PA side but all other alsa issues will still stand.
Comment 4 Filippo Argiolas 2009-05-14 12:23:12 EDT
Created attachment 344003 [details]
new bigger diff
Comment 5 Filippo Argiolas 2009-05-14 12:47:42 EDT
(In reply to comment #3)
> they are. Right now 'Headphone' channel has no effect at all and headphone
> volume seems to be controlled by 'PCM-2'.

s/PCM-2/PCM, sorry.
Comment 6 Filippo Argiolas 2009-05-14 14:00:14 EDT
Reassigning the bug to the kernel guys.
I just tested alsa 1.0.20 from the alsa-driver tarball.
All mixer issues seems solved there, I now have a Master channel, a single PCM, Speaker control speakers and Headphone controls headphones, Master controls both as it should. The new 'Master' channel fixes the previous pulseaudio issue too.

I believe the actual fixes come from this commit [1] and some other one around March.
I could try to bisect it better if needed.

So, I'm not so familiar with alsa release process and how long does it takes to enter the kernel. Is there any chance to have it before Fedora 11 or with the early upgrades?

1. http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=5b3a7440cbabdda07cfb3dcf4a07e0115a3dff9a
Comment 7 Adam Williamson 2009-05-14 14:51:13 EDT
Lennart, I'm going to re-assign to Jaroslav for now and CC Chuck. Once the ALSA-level stuff is sorted to Filippo's satisfaction, we can work on the Pulse side of things. Sound good?
Comment 8 Lennart Poettering 2009-05-17 18:58:40 EDT
Why reassign to Jaroslav? The issues are fixed in ALSA, so they will end up in Fedora eventually anyway.

PA needs to do something about the Speaker slider I guess, I'd rather see this bug reassigned to PA. Any maybe have a seperate bug opened that asks for backporting of that alsa patch.
Comment 9 Filippo Argiolas 2009-05-18 01:48:12 EDT
Just to make it clear, PA won't need any fix.
When those drivers will end up in fedora it will just use the Master channel as it should and everything will work out of the box.
Maybe you could want to apply a temporary fix that makes it control the Speaker channel meanwhile but I don't think it's worth.

A separate backporting patch would need some more work to find which commit are actually interesting, I don't think it's just that single commit.

So IMHO, this bug should stay opened just as a memorandum about a regression currently in fedora and waiting to be fixed.
Comment 10 Adam Williamson 2009-05-19 20:17:00 EDT
lennart: well, it will be fixed in Fedora 'eventually' but it isn't now :) hence it's appropriate to have it assigned to our ALSA guy as long as it's still open...as Filippo says PA behaves fine with a fixed ALSA, I guess there's nothing for you to do here.
Comment 11 Bug Zapper 2009-06-09 11:46:00 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
Comment 12 Filippo Argiolas 2009-09-13 10:26:24 EDT
The fix from alsa upstream finally landed in fedora 11 with the 2.6.30 kernel.
This bug can be closed for me.

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