Bug 42478 - module-suspend-on-idle kills HDMI output
module-suspend-on-idle kills HDMI output
Status: NEW
Product: PulseAudio
Classification: Unclassified
Component: modules
x86-64 (AMD64) Linux (All)
: medium normal
Assigned To: pulseaudio-bugs
Depends on:
  Show dependency treegraph
Reported: 2011-11-01 08:18 UTC by Philipp Wendler
Modified: 2012-08-09 01:12 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:

Output of "pactl list sinks" (1.99 KB, text/plain)
2011-11-01 08:18 UTC, Philipp Wendler
Output of pulseaudio -vvvvv (215.05 KB, text/plain)
2011-11-01 08:38 UTC, Philipp Wendler
alsa-info when running PA without module-suspend-on-idle (WORKING sound) (95.05 KB, text/plain)
2012-03-15 00:03 UTC, Philipp Wendler
alsa-info when running PA with module-suspend-on-idle (NON-WORKING sound) (95.04 KB, text/plain)
2012-03-15 00:06 UTC, Philipp Wendler

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Wendler 2011-11-01 08:18:28 UTC
Created attachment 53000 [details]
Output of "pactl list sinks"

If this module is loaded, HDMI output (stereo and 5.1) is not working when I start a player like VLC or Rhythmbox. I have to fiddle with the output configuration of Pulseaudio (e.g., changing from 5.1 to stereo and back) or with the input configuration of my receiver (e.g., re-selecting the input source my computer is connected to) to hear sound.

If I pause and continue the playback, sound is still fine. If I quit the player so that no stream is playing at all and start it again, I have to perform the above procedure again.

Unloading the module suspend-on-idle solves this problem whereas loading the module produces the problem reproducibly.

Hardware: Intel Sandy Bridge cpu & mainboard with onboard video card with HDMI output (see attached file sink-list.txt). My receiver is a Denon AVR-1910.

Software: Pulseaudio 1.0 from Ubuntu 11.10 x64 (package version 1:1.0-0ubuntu3)

I had already filed a bug in the Ubuntu bug tracker: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/884336
Comment 1 Philipp Wendler 2011-11-01 08:38:16 UTC
Created attachment 53005 [details]
Output of pulseaudio -vvvvv

I produced a log output of pulseaudio, maybe it is useful. The log contains the following actions:

- start pulseaudio (nothing is playing)
- start VLC and begin playback (no sound from speakers)
- change output configuration from 5.1 to stereo in pavucontrol (sound is now audible)
- change output configuration from stereo back to 5.1 in pavucontrol (sound is still audible)
- quit VLC (nothing is playing anymore)
- start VLC and begin playback (again no sound from speakers)
Comment 2 Arun Raghavan 2012-03-14 23:14:36 UTC
Could you post the output of alsa-info[1] from when the output is working and when it is not?

[1] http://git.alsa-project.org/?p=alsa-driver.git;a=blob_plain;f=utils/alsa-info.sh
Comment 3 Philipp Wendler 2012-03-15 00:03:32 UTC
Created attachment 58470 [details]
alsa-info when running PA without module-suspend-on-idle (WORKING sound)
Comment 4 Philipp Wendler 2012-03-15 00:06:12 UTC
Created attachment 58471 [details]
alsa-info when running PA with module-suspend-on-idle (NON-WORKING sound)

The alsa-info from when sound is not working was collected after starting pulseaudio with module-suspend-on-idle, playing a sound (verifying its working), waiting for the suspend module to trigger, and playing a sound again (verifying it is not working).
So this shows the suspended state.
Comment 5 David Henningsson 2012-03-23 03:36:18 UTC
This might be a long shot, and I'm not completely sure, but I suspect this might be bad position reporting from the hardware, see

Comment 6 Philipp Wendler 2012-03-23 11:08:42 UTC
Neither using the module parameter for snd_hda_intel nor disabling PA's timer scheduling worked for me.

Note that I didn't reboot my computer for these tests. Instead I just unloaded the snd_hda_intel module and loaded it again with the position_fix parameter specified on the modprobe command line. If this is not enough, I can do it with reboots, but this machine is used remotely by others as well, so I try to avoid that.
Comment 7 David Henningsson 2012-03-26 05:28:33 UTC
Hmm, I just had a look in your alsa-info as well, and it shows entries like this:

[1788814.086727] [drm:drm_detect_monitor_audio], Monitor has basic audio support
[1788814.086733] [drm:output_poll_execute], [CONNECTOR:14:HDMI-A-2] status updated from 1 to 1
[1788814.087245] [drm:intel_dp_aux_ch], dp_aux_ch timeout status 0x5143003e

If you get strange entries in your dmesg when audio stops working, it looks like a kernel/hardware bug to me. Or did you repeatedly plug in and unplug your hdmi cable?
Comment 8 Philipp Wendler 2012-03-26 07:23:25 UTC
Yes, I switch a lot between two devices connected via HDMI (my monitor, which is connected via a HDMI-DVI adapter, and my receiver). So the log entries might result from this.

For this problem I tested only the connection to the receiver. So I plugged in the receiver, verified the sound is working and then waited for the suspend timeout, after which the sound is not working.

If required, I can reproduce the problem and provide dmesg output, but this will take a few days as I'm currently out of country. However, although I am not sure, I guess I looked into the dmesg output when having the problem for the first time, and didn't find anything interesting.
Comment 9 Arun Raghavan 2012-03-28 02:42:45 UTC
This looks very much like an ALSA driver issue, so I'm dropping it as a 2.0 blocker.
Comment 10 Matt Horan 2012-08-09 01:12:13 UTC
I'm seeing a similar issue with a similar setup.  I've got a media center connected to a receiver via HDMI.  Sometimes when I'm playing audio and power-cycle devices in the chain (TV, receiver, etc), pulse will stop playing audio.  I don't get any errors or anything, and issuing pulseaudio -k will bring it all back.

I tried commenting out the module-suspend-on-idle module.  It seemed to work at first, but I eventually got into a state where PA applications complained about not being able to play back, and audio went silent.

I think this could be an ALSA issue, but it's quite difficult to debug.  Has anyone else come up with a solution to this problem?