At Mon, 10 Jan 2011 23:31:19 +0530, Nirbheek Chauhan wrote:
On Mon, Jan 10, 2011 at 8:19 PM, Takashi Iwai tiwai@suse.de wrote:
At Mon, 10 Jan 2011 14:54:25 +0100, Takashi Iwai wrote:
At Wed, 5 Jan 2011 13:07:41 +0530, Nirbheek Chauhan wrote:
Hello,
Upon upgrading to 2.6.37, auto-muting-laptop-speakers-on-headphone-connect stopped working, and the headphone connector completely disappeared from alsamixer as well as the pulseaudio volume control panel. The headphone jack was still transmitting sound, though.
I bisected the problem, with 'good' being v2.6.36, and found the commit below as the first bad commit. Reverting it on v2.6.37 fixes the problem. I also tried the latest alsa-kernel master git tree, which had the same problem.
alsa-info when 'good':
http://www.alsa-project.org/db/?f=a0b5c95f764a0b01746be46f989685996e1f9210
alsa-info when 'bad':
http://www.alsa-project.org/db/?f=30f30ca5461f03b98ab6c7c611cf24ea4526f537
Note: both were taken without X running, before pulseaudio came up.
================ 03642c9a444079aa13f0864383a8f9ca04bfd198 is the first bad commit commit 03642c9a444079aa13f0864383a8f9ca04bfd198 Author: Takashi Iwai tiwai@suse.de Date: Wed Sep 8 15:28:19 2010 +0200
ALSA: hda - Clear left-over hp_pins in snd_hda_parse_pin_def_config()
In snd_hda_parse_def_config(), some unused values may remain in hp_pins[] array during the headphone-reassignment workaround. This patch clears the unused array members.
Signed-off-by: Takashi Iwai tiwai@suse.de
:040000 040000 34724336a75f74263423f28d64450d65e5ed948d 8d136fce8661ad2df35ac3c4a9ca1c712c9833ed M sound
================
It seems that the driver worked casually in the earlier versions :) Does the patch below fix your problem?
Note that the "Headphone" control will still not appear even with this patch, but these two outputs are controlled by "Front" and "Surround" controls. The lack of "Headphone" is no regression but simply it shouldn't have been there.
I'll work on 2.6.38 tree for better handling of multi headphone cases.
The patch is below. Give it a try.
This patch made the jacks and their alsamixer controls function exactly as I expected them to!
(I have to admit, at first I applied only this patch without the previous one, and that made things really weird. I had fully documented the weirdness before I realised that the first patch might not have been *just* for stable)
alsamixer layout: [Master] [Headphone] [Headphone 1] [Speaker] [PCM] [Mic 1] [Mic Boost 1]
alsa-info: http://www.alsa-project.org/db/?f=34790490c2d70f019b14b22f8e94289425b1bcd6
- `Speaker` is only toggle-mute
- `PCM` has no toggle-mute
- `Master` affects audio in all outputs
- Inserting a jack into either headphone socket mutes the laptop speakers
- `Headphone` and `Headphone 1` control their respective headphones
(maybe they should be named Headphone 1, Headphone 2?)
- `Speaker` mutes the laptop speakers
- `PCM` affects audio in all outputs
All this is without pulseaudio running. Pulseaudio doesn't seem to be able to handle multiple headphones nicely, and I can't control which connector an audio stream goes to at all (not a regression, I would note). But I guess this one is for the PA devs :-)
I'll be using both these patches, and will report any bugs I find.
Good to hear. Both patches are now in sound git tree and included in the upcoming pull-request for 2.6.38 kernel.
thanks,
Takashi