[LAU] Yet another HDA problem

Alexandros Diamantidis adia at hellug.gr
Tue Nov 30 18:34:49 UTC 2010


OK, I know that on-board HDA audio hardware isn't recommended, but...

So, my previous motherboard's on-board audio worked well enough with
Jack, but the MB was unstable under heavy CPU load (I repeatedly got
"invalid instruction" kernel exceptions) and the shop I got it from
exchanged it with a newer model since it was under guarantee. Now
I have an Asus M4A87TD/USB3.

Some sound card info:
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)
Codec: VIA VT1818S
* /proc/interrupts:
           CPU0       CPU1       CPU2       CPU3       
 16:          0          2        299     194622   IO-APIC-fasteoi   hda_intel, eth2

The whole alsa-info output:
http://members.hellug.gr/adia/m/alsa-info

Now, jack (ver. 1.9.6) starts immediately reporting a constant stream of xruns:

JACK server starting in realtime mode with priority 10
creating alsa driver ... hw:0|-|1024|2|48000|0|0|nomon|swmeter|-|32bit
Using ALSA driver HDA-Intel running on card 0 - HDA ATI SB at 0xfe7f4000 irq 16
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
alsa_driver_xrun_recovery

**** alsa_pcm: xrun of at least 0.014 msecs

JackAudioDriver::ProcessAsync: read error, skip cycle
alsa_driver_xrun_recovery

**** alsa_pcm: xrun of at least 0.011 msecs


With different parameters there are no xruns until I start a client:

creating alsa driver ... hw:0|-|128|3|48000|0|0|nomon|swmeter|-|32bit
Using ALSA driver HDA-Intel running on card 0 - HDA ATI SB at 0xfe7f4000 irq 16
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 3 periods
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 3 periods for playback
JackEngine::XRun: client = moc was not run: state = 2
JackAudioDriver::ProcessAsync Process error
JackEngine::XRun: client = moc was not run: state = 2
JackAudioDriver::ProcessAsync Process error
JackEngine::XRun: client = moc was not run: state = 1
JackAudioDriver::ProcessAsync Process error

Sound output is always broken - it seems there is an xrun for each period.

So... any pointers on diagnosing the problem? Does the fact that audio and
ethernet share IRQ 16 affect anything?

Thanks in advance!

Alexandros


More information about the Linux-audio-user mailing list