Kernel Bug Tracker – Bug 15399
[PATCH]since 2.6.33 when I plug headphones, the speaker doen't get off anymore
Last modified: 2013-11-15 14:48:45 UTC
I have installed debian stable lenny + backports on an eeepc 1201n. With the 2.6.30 or 2.6.32 from lenny-backport I don't have problem with sound : when I plug the headphones, speakers get off.
I have tested with 2.6.33 and when I plug headphones, speakers don't get off anymore. so I have sound in headphones and speakers.
22:42 giggz@baal ~ % cat /proc/asound/card0/codec#* | grep Codec
Codec: Realtek ALC269
Codec: Nvidia MCP7A HDMI
What can I provide in order to help ?
Created attachment 25238 [details]
output of the also-info script when I boot on the 184.108.40.206
With the 220.127.116.11, when I plug the headphones, the speaker gets off. So NO problem
Created attachment 25239 [details]
output of the also-info script when I boot on the 2.6.33
With the 2.6.33, when I plug my headphone, the speaker doesn't get off.
Created attachment 25241 [details]
custom config file for the 18.104.22.168
custom config file for the 22.214.171.124 with I don't have any problem with the sound driver.
Created attachment 25242 [details]
custom config file for the 2.6.33
custom config file for the 2.6.33. I get problem with it.
I have discussed on the alsa-devel list. I did a "diff" of the sources of the
126.96.36.199 kernel and of the 2.6.33. In patch_realtek.c, we see that there is an new snd_hda_jack_detect funtion with 2 arguments. I have noticed that the second argument is "normaly" the second argument of snd_hda_codec_read. In the alc269_speaker_automute function there is this new snd_hda_jack_detect function, but the second argument is "nid". But in the old alc269_speaker_automute of the 188.8.131.52 the second argument of snd_hda_codec_read is 0x15. So I think there is perhaps a bug here...But I hesitate to modify the source...so I'm waiting the
anwser of the dev.
--- patch_realtek.c 2010-02-27 14:58:06.000000000 +0100
+++ patch_realtek_modif.c 2010-02-27 14:58:54.000000000 +0100
@@ -13381,7 +13381,7 @@
unsigned int present;
unsigned char bits;
- present = snd_hda_jack_detect(codec, nid);
+ present = snd_hda_jack_detect(codec, 0x15);
bits = present ? AMP_IN_MUTE(0) : 0;
snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0,
I have modified the patch_realtek.c with snd_hda_jack_detect(codec, 0x15); and recompile the kernel. Then reboot on this kernel. My initial problem (speaker doesn't get off when I plug the headphones) is solved with that.
I can confirm this bug running 184.108.40.206 on EEE 901. Can any developer comment on the patch posted above? Is it correct way to fix the problem?
This bug must have been fixed in the recent kernels, as the Realtek driver is using the generic parser now. Reopen if the problem is still present with 3.12 kernel.