Hi again,
Le 03/02/2012 20:11, Colomban Wendling a écrit :
Le 19/12/2011 16:30, Takashi Iwai a écrit :
At Mon, 19 Dec 2011 16:06:53 +0100, David Henningsson wrote:
[...]
Hmm, thanks for figuring this one out. Actually this is the third time I hear of jack detection flipping back and forth. I'm wondering if we need (and whether other OSes have?) a filter / flood protection on this stuff, and if so, how it works? I mean, nobody would notice half a second of delay on that switch anyway.
I don't think there is a perfect filtering for such a problem. Theoretically we can see how often it's flipped, and disables the jack-detection accordingly. But not sure how useful it is in practice, since it's a rare case, and the manual adjustment is easy.
It's easy to fix, but I, as a simple user, think it's really hard to find out -- actually I wouldn't have found this out if you weren't there telling me :)
So maybe it'd be good to have an automatic disable if this isn't a bug in an ALSA code somewhere -- just remembering I never suffered of the problem before 3.0.
This bug is still present as of current master (3.11.0+) -- jack detection is still broken with my Realtek ALC889 on a MSI H55M-E33.
Moreover, since kctls were introduced, this jack detection issue breaks userland apps that listen to them. E.g. PulseAudio now switch back and forth between front and back panel, for which it maintains 2 separate set of settings which actually results in more or less the same issue than with AutoMute.
I see 2 possible solutions:
1) fix the jack detection (if it isn't a bug in the card but in the driver somewhere)
2) if it's not possible to fix the driver, add a way to completely disable jack events (e.g. a module param or something).
Currently I had to comment-out the snd_kctl_jack_report() call in snd_hda_jack_report_sync() so I could actually use the driver.
BTW if it helps, snd_hda_jack_unsol_event() only receives events when actually plugging/unplugging a jack or during playback, but never when the card is idle.
I would be more than happy to do anything I can to help fixing this.
Best regards, Colomban
PS: original thread(s): http://mailman.alsa-project.org/pipermail/alsa-devel/2011-November/045707.ht... http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047152.ht... http://mailman.alsa-project.org/pipermail/alsa-devel/2011-December/047210.ht...