[Re-added Cc to alsa-devel to let others following]
At Fri, 11 May 2012 10:37:44 -0300, Dâniel Fraga wrote:
On Fri, 11 May 2012 09:43:48 +0200 Takashi Iwai tiwai@suse.de wrote:
Does it mean that you have no headphone, or does the machine have no headphone jack?
The machine has a headphone jack, but I never use a headphone.
That's why I'm asking to test. Usually when such a noise occurs due to the auto-mute feature, it's because the bogus unsolicited events are fired up too much although no jack is plugged actually. Thus usually the auto-mute feature itself doesn't work in such a case (either no hardware implementation or the hardware has its own switching mechanism.)
I understand. Ok... so you want me to plug the headphone and test if the auto-mute works right? Ok, I did that and yes, it works fine as expected (the audio from speakers is automatically muted when a headphone is inserted).
Hm, so it's strange that the auto-mute causes a problem.
Could you check which unsolicited events are triggered on your machine? When you build your kernel with the tracing support (CONFIG_TRACEPOINTS=y), you can enable the tracing via
% echo 1 > /sys/kernel/debug/tracing/events/hda/hda_unsol_event/enable
then after some time, gather the result by checking /sys/kernel/debug/tracing/trace file. The output is like below.
% cat /sys/kernel/debug/tracing/trace # tracer: nop # # entries-in-buffer/entries-written: 4/4 #P:4 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | <idle>-0 [001] d.h3 10157.942108: hda_unsol_event: [0] res=10010020, res_ex=10 <idle>-0 [001] d.h3 10158.848271: hda_unsol_event: [0] res=10010000, res_ex=10 .....
Check whether the events come up frequently even without plugging/unplugging any jacks. Usually this shouldn't happen. But in the case of problematic hardware with the auto-mute, many bogus unsol events are triggered.
thanks,
Takashi