Luke Carrier

Intel 7 Series/C210 Series Audio Controller, PulseAudio and skipping audio

Published 2 years ago

Under both Ubuntu 13.10 and 14.04 and Fedora 20, I've experienced a frustrating issue with audio on my desktop (using the onboard analog outputs on the Asus P8Z77-V). Around once per minute, a loud static noise is outputted, the audio temporarily stops and almost immediately returns to normal. It renders audio pretty much useless.

When running PulseAudio with verbose output enabled, it becomes clear why:

$ LANG=C pulseaudio -vvvv --log-time=1
[ lots of output skipped... ]
( 173.135| 58.537) D: [pulseaudio] module-alsa-card.c: Jack 'Front Headphone Jack' is now plugged in
( 173.135| 0.000) D: [pulseaudio] device-port.c: Setting port analog-output-headphones to status yes
( 173.135| 0.000) D: [pulseaudio] module-switch-on-port-available.c: finding port analog-output-headphones
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Activating path analog-output-headphones
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Path analog-output-headphones (Headphones), direction=1, priority=90, probed=yes, supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=64, min_dB=-179, max_dB=0
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Master, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1, override_map=yes
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Headphone, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=4, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Front, direction=1, switch=1, volume=3, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Surround, direction=1, switch=2, volume=2, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Side, direction=1, switch=2, volume=2, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Center, direction=1, switch=2, volume=2, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element LFE, direction=1, switch=2, volume=2, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element PCM, direction=1, switch=0, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element IEC958, direction=1, switch=2, volume=0, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x0, n_channels=0, override_map=no
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Front Headphone, alsa_name='Front Headphone Jack', detection possible
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Front Headphone Phantom, alsa_name='Front Headphone Phantom Jack', detection unavailable
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Headphone, alsa_name='Headphone Jack', detection unavailable
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Headphone Phantom, alsa_name='Headphone Phantom Jack', detection unavailable
( 173.135| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Headphone Mic, alsa_name='Headphone Mic Jack', detection unavailable
( 173.136| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Successfully enabled deferred volume.
( 173.136| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Hardware volume ranges from -179.00 dB to 0.00 dB.
( 173.136| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Fixing base volume to 0.00 dB
( 173.136| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Using hardware volume control. Hardware dB scale supported.
( 173.136| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Using hardware mute control.
( 173.136| 0.000) I: [pulseaudio] sink.c: Changed port of sink 2 "alsa_output.pci-0000_00_1b.0.analog-stereo" to analog-output-headphones
( 173.136| 0.000) I: [pulseaudio] module-device-restore.c: Restoring volume for sink alsa_output.pci-0000_00_1b.0.analog-stereo.
( 173.136| 0.000) D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Requested volume: front-left: 41047 / 63% / -12.19 dB, front-right: 41047 / 63% / -12.19 dB
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Got hardware volume: front-left: 41350 / 63% / -12.00 dB, front-right: 41350 / 63% / -12.00 dB
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Calculated software volume: front-left: 65056 / 99% / -0.19 dB, front-right: 65056 / 99% / -0.19 dB (accurate-enough=yes)
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Volume going up to 41047 at 528176734
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] ratelimit.c: 75 events suppressed
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26924 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26904 usec
( 173.136| 0.000) I: [pulseaudio] module-device-restore.c: Restoring mute state for sink alsa_output.pci-0000_00_1b.0.analog-stereo.
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26860 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26844 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26831 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26820 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26654 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26629 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26610 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26592 usec
( 173.136| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Next volume change in 26499 usec
( 173.156| 0.020) D: [pulseaudio] module-alsa-card.c: Jack 'Front Headphone Jack' is now unplugged
( 173.156| 0.000) D: [pulseaudio] device-port.c: Setting port analog-output-headphones to status no
( 173.156| 0.000) D: [pulseaudio] module-switch-on-port-available.c: finding port analog-output-headphones
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Activating path analog-output-lineout
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Path analog-output-lineout (Line Out), direction=1, priority=99, probed=yes, supported=yes, has_mute=yes, has_volume=yes, has_dB=yes, min_volume=0, max_volume=64, min_dB=-179, max_dB=0
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Master, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x7ffffffffffff, n_channels=1, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Headphone, direction=1, switch=1, volume=3, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=no
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Front, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x6, n_channels=2, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Surround, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x60, n_channels=2, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Side, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0xc00, n_channels=2, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element Center, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x4900000000018, n_channels=1, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element LFE, direction=1, switch=1, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x80, n_channels=1, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element PCM, direction=1, switch=0, volume=1, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x3600000000f66, n_channels=2, override_map=yes
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Element IEC958, direction=1, switch=2, volume=0, volume_limit=-1, enumeration=0, required=0, required_any=0, required_absent=0, mask=0x0, n_channels=0, override_map=no
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out, alsa_name='Line Out Jack', detection unavailable
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Phantom, alsa_name='Line Out Phantom Jack', detection unavailable
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Front, alsa_name='Line Out Front Jack', detection possible
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Front Phantom, alsa_name='Line Out Front Phantom Jack', detection unavailable
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out CLFE, alsa_name='Line Out CLFE Jack', detection possible
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out CLFE Phantom, alsa_name='Line Out CLFE Phantom Jack', detection unavailable
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Surround, alsa_name='Line Out Surround Jack', detection possible
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Surround Phantom, alsa_name='Line Out Surround Phantom Jack', detection unavailable
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Side, alsa_name='Line Out Side Jack', detection possible
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-mixer.c: Jack Line Out Side Phantom, alsa_name='Line Out Side Phantom Jack', detection unavailable
( 173.157| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Successfully enabled deferred volume.
( 173.157| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Hardware volume ranges from -179.00 dB to 0.00 dB.
( 173.157| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Fixing base volume to 0.00 dB
( 173.157| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Using hardware volume control. Hardware dB scale supported.
( 173.157| 0.000) I: [alsa-sink-ALC892 Analog] alsa-sink.c: Using hardware mute control.
( 173.157| 0.000) I: [pulseaudio] sink.c: Changed port of sink 2 "alsa_output.pci-0000_00_1b.0.analog-stereo" to analog-output-lineout
( 173.157| 0.000) I: [pulseaudio] module-device-restore.c: Restoring volume for sink alsa_output.pci-0000_00_1b.0.analog-stereo.
( 173.157| 0.000) D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Requested volume: front-left: 16590 / 25% / -35.80 dB, front-right: 16590 / 25% / -35.80 dB
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Got hardware volume: front-left: 16717 / 26% / -35.60 dB, front-right: 16717 / 26% / -35.60 dB
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] alsa-sink.c: Calculated software volume: front-left: 65038 / 99% / -0.20 dB, front-right: 65038 / 99% / -0.20 dB (accurate-enough=yes)
( 173.157| 0.000) D: [alsa-sink-ALC892 Analog] sink.c: Volume going down to 16590 at 528180803
( 173.157| 0.000) I: [pulseaudio] module-device-restore.c: Restoring mute state for sink alsa_output.pci-0000_00_1b.0.analog-stereo.
( 173.163| 0.005) D: [alsa-sink-ALC892 Analog] sink.c: Volume change to 41047 at 528176734 was written 21 usec late
( 173.167| 0.004) D: [alsa-sink-ALC892 Analog] sink.c: Volume change to 16590 at 528180803 was written 17 usec late

If you too are experiencing this issue, edit /etc/pulse/default.pa and comment out the following line:

load-module module-switch-on-port-available

Then restart PulseAudio by killing the existing daemon -- it should automatically respawn:

$ pulseaudio -k

It's not a fix, but it'll do until the driver gets updated.

Linux -- playing a vital role in the day to day operation of the Internet for decades, but playing your MP3s is a task too far.