hda-intel (ALC889) - sound loops/repeats continuously, and general brokenness

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 Hello ALSA devs,

(Cc'ing alsa-devel since looks like it can be a driver problem/bug, but
still unsure. Need some expert advice.)

I'm experiencing a lot of problems reproducing audio with an HD Audio
"card" integrated on an Intel DX58SO mainboard. It happens only on this
card, everything is Ok with another (USB) card.

The most visible problem is that `aplay` plays only a small fragment of
audio (less than one second), then hangs and the card keeps reproducing
that fragment continuously in a loop, until killed with Ctrl-C. `aplay
-N` progresses, but each fragment repeats 3 times.

Doing an strace on `aplay`, it hangs here while repeating the audio

semop(294912, {{0, 0, 0}, {0, 1, SEM_UNDO}}, 2) = 0
semop(294912, {{0, -1, SEM_UNDO|IPC_NOWAIT}}, 1) = 0
ioctl(4, 0x4122, 0x3)                   = 0
ioctl(4, 0x4122, 0)                     = 0
ioctl(4, 0x4122, 0xe4)                  = 0
poll([{fd=3, events=POLLIN|POLLERR|POLLNVAL}], 1, -1) = 1 ([{fd=3,
ioctl(4, 0x4122, 0x3)                   = 0
ioctl(4, 0x4122, 0xe4)                  = 0
ioctl(4, 0x4122, 0x1)                   = 0
128) = 64
read(3, 0x7fff890f6810, 128)            = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLERR|POLLNVAL}], 1, -1^C <unfinished ...>

Descriptor 3 is /dev/snd/timer ... Perhaps time stops progressing for
the driver? `aplay -N` continues a little here because this poll() call
timeouts after 1000ms, but this still repeats each fragment 3 times.

Other audio software (mplayer, amarok) can play audio almost normally,
except when you pause. When paused, the same behavior happens: the last
fragment of sound before pausing keeps repeating continuously until

When the song finishes, the application (tested with mplayer) also
hangs, the last fragment keeps repeating while the process is blocked here:

ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo
...}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
...}) = 0
ioctl(6, 0x4144^C <unfinished ...>

Descriptor 6 is /dev/snd/pcmC0D0p , and 0x4144 is SNDRV_PCM_IOCTL_DRAIN
ioctl in sound/asound.h. Sometimes mplayer timeouts and reports:

[AO_ALSA] alsa-lib: pcm_hw.c:616:(snd_pcm_hw_drain)
SNDRV_PCM_IOCTL_DRAIN failed (-5): Input/output error

I'm at a loss here. I have already read the sound/alsa/HD-Audio.txt and
tried many of the tweaks described there, but with no luck.

Any help is greatly appreciated.

System information:

Best regards,

Juliano F. Ravasi ·· http://juliano.info/
5105 46CC B2B7 F0CD 5F47 E740 72CA 54F4 DF37 9E96

Alsa-devel mailing list

[ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

Add to Google Powered by Linux