Re: [alsa-devel] Realtek ACL892: audio gap ~ each 10 seconds? [SOLVED]
[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
On Fri, 11 May 2012 15:52:49 +0200 Takashi Iwai tiwai@suse.de wrote:
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 .....
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.
Takashi, I got the following:
# tracer: nop # # entries-in-buffer/entries-written: 12/12 #P:8 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | <idle>-0 [000] d.h3 449.885014: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 449.906339: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 472.269431: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 472.290721: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 478.262018: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 478.283319: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 482.934742: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 482.956033: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 584.308420: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 584.329693: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 593.781622: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 593.802890: hda_unsol_event: [0] res=4000041, res_ex=10
***
But I couldn't notice it happening exactly during the click and pop... When click and pop happens, nothing happens in this file... So I don't know if it will be useful to you.
Anyway, I'm confortable with auto-mute off... If you need more testing, just ask. I'll be glad to help.
Thank you.
At Fri, 11 May 2012 11:53:09 -0300, Dâniel Fraga wrote:
On Fri, 11 May 2012 15:52:49 +0200 Takashi Iwai tiwai@suse.de wrote:
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 .....
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.
Takashi, I got the following:
# tracer: nop # # entries-in-buffer/entries-written: 12/12 #P:8 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | <idle>-0 [000] d.h3 449.885014: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 449.906339: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 472.269431: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 472.290721: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 478.262018: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 478.283319: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 482.934742: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 482.956033: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 584.308420: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 584.329693: hda_unsol_event: [0] res=4000041, res_ex=10 <idle>-0 [000] d.h3 593.781622: hda_unsol_event: [0] res=40000c1, res_ex=10 <idle>-0 [000] d.h3 593.802890: hda_unsol_event: [0] res=4000041, res_ex=10
But I couldn't notice it happening exactly during the click and pop... When click and pop happens, nothing happens in this file... So I don't know if it will be useful to you.
Did you get any unsol events while you don't plug anything? The output about indicates that it's an unsol event from the headphone pin (tag=1).
Takashi
On Fri, 11 May 2012 17:05:15 +0200 Takashi Iwai tiwai@suse.de wrote:
Did you get any unsol events while you don't plug anything? The output about indicates that it's an unsol event from the headphone pin (tag=1).
Yes! The output I sent was generated without plugging anything.
At Fri, 11 May 2012 12:51:38 -0300, Dâniel Fraga wrote:
On Fri, 11 May 2012 17:05:15 +0200 Takashi Iwai tiwai@suse.de wrote:
Did you get any unsol events while you don't plug anything? The output about indicates that it's an unsol event from the headphone pin (tag=1).
Yes! The output I sent was generated without plugging anything.
OK, so obviously it's a strange series of jack on/off event spikes in ca. 30ms. A workaround as David suggested would work, then.
Takashi
On Fri, 11 May 2012 17:54:39 +0200 Takashi Iwai tiwai@suse.de wrote:
OK, so obviously it's a strange series of jack on/off event spikes in ca. 30ms. A workaround as David suggested would work, then.
Ok. How can I test this workaround? Will you or David provide a patch? If you want, I can test a patch... thanks.
participants (2)
-
Dâniel Fraga
-
Takashi Iwai