Pulseaudio, Alsa and Kernel 2.6.30
I’m experiencing some hiccups with kernel 2.6.30, Pulseaudio and Alsa (driver from the kernel). In the company I’m using an older PC, which has a onboard Intel ICH5 audio system and an additional CMI el cheapo audio PCI card. This setup basically came from a time, when the Linux Flash plugin was OSS only. So, the onboard soundcard was basically used for the OSS applications and the CMI card for ALSA applications.
# lspci
...
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)
...
03:0b.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
...
Now, since I switched to kernel version 2.6.30 I’m seeing the following in my /var/log/messages with a distorted sound, when the problem shows (irrespective of the used sound HW):
pulseaudio[4525]: alsa-util.c: snd_pcm_delay() returned a value that is exceptionally large: 452148 bytes (2563 ms).
pulseaudio[4525]: alsa-util.c: Most likely this is a bug in the ALSA driver '(null)'.
Please report this issue to the ALSA developers.
pulseaudio[4525]: alsa-util.c: snd_pcm_dump():
pulseaudio[4525]: alsa-util.c: Hardware PCM card 0 'C-Media CMI8738' device 0 subdevice 0
pulseaudio[4525]: alsa-util.c: Its setup is:
pulseaudio[4525]: alsa-util.c: stream : PLAYBACK
pulseaudio[4525]: alsa-util.c: access : MMAP_INTERLEAVED
pulseaudio[4525]: alsa-util.c: format : S16_LE
pulseaudio[4525]: alsa-util.c: subformat : STD
pulseaudio[4525]: alsa-util.c: channels : 2
pulseaudio[4525]: alsa-util.c: rate : 44100
pulseaudio[4525]: alsa-util.c: exact rate : 44100 (44100/1)
pulseaudio[4525]: alsa-util.c: msbits : 16
pulseaudio[4525]: alsa-util.c: buffer_size : 16384
pulseaudio[4525]: alsa-util.c: period_size : 8192
pulseaudio[4525]: alsa-util.c: period_time : 185759
pulseaudio[4525]: alsa-util.c: tstamp_mode : ENABLE
pulseaudio[4525]: alsa-util.c: period_step : 1
pulseaudio[4525]: alsa-util.c: avail_min : 15503
pulseaudio[4525]: alsa-util.c: period_event : 0
pulseaudio[4525]: alsa-util.c: start_threshold : -1
pulseaudio[4525]: alsa-util.c: stop_threshold : 1073741824
pulseaudio[4525]: alsa-util.c: silence_threshold: 0
pulseaudio[4525]: alsa-util.c: silence_size : 0
pulseaudio[4525]: alsa-util.c: boundary : 1073741824
pulseaudio[4525]: alsa-util.c: appl_ptr : 16614535
pulseaudio[4525]: alsa-util.c: hw_ptr : 16501498
pulseaudio[4525]: ratelimit.c: 11481 events suppressed
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 50,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 60,00 ms
pulseaudio[4525]: ratelimit.c: 105 events suppressed
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 70,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 80,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 90,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 100,00 ms
pulseaudio[4525]: ratelimit.c: 11588 events suppressed
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 110,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 120,00 ms
pulseaudio[4525]: ratelimit.c: 11278 events suppressed
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 130,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 140,00 ms
pulseaudio[4525]: alsa-sink.c: Increasing wakeup watermark to 150,00 ms
pulseaudio[4525]: ratelimit.c: 314 events suppressed
This problem apparently only shows with the Pulseaudio daemon and on 32bit Linux. I did an extensive editing session with Audacity, which works directly with the ALSA devices and I didn’t experience any problems here and at home, where I’m running 64bit 2.6.30, the problem also doesn’t show.
Anyway, as a fix I downloaded the latest ALSA driver 1.0.20 from the ALSA website and installed the compiled drivers over the kernel modules. With this, sound works just fine again.
