diagnostic tools to trace the reason xruns are happening?
o-takashi at sakamocchi.jp
Mon Jun 6 02:16:42 UTC 2011
I use Echo Audiofire Pre 8 and worried about JACK's rondom XRUN.
Fortunately I have a friend who is Linux-based system engineer and ask
him this issue. Then he gave me two solutions.
1. see IRQ in /proc/interrupts
2. use HPET as system clock source
IRQ have a various meanings but in this case it means device
input/output. you can see IRQ with the command 'cat /proc/interrupts'.
$ cat /proc/interrupts;
CPU0 CPU1 CPU2 CPU3
0: 6206090 0 0 0 IO-APIC-edge timer
1: 2 0 0 0 IO-APIC-edge i8042
8: 1 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
12: 4 0 0 0 IO-APIC-edge i8042
16: 95779 0 0 0 IO-APIC-fasteoi
uhci_hcd:usb3, pata_jmicron, nvidia
17: 0 0 0 0 IO-APIC-fasteoi ahci
18: 21 74 0 0 IO-APIC-fasteoi
ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8, pata_jmicron, firewire_ohci
19: 0 0 0 0 IO-APIC-fasteoi
21: 36 0 0 0 IO-APIC-fasteoi
23: 26 0 0 0 IO-APIC-fasteoi
Your firewire device is driven by firewire_ohci and you can see how many
interrupts happen in the layer including firewire_ohci. In this example,
you can see uhci_hcd:usb5 or uhci_hcd:usb8 in the same layer. If I
connect my USB mouse or keyboard to uhci_hcd:usb5 or uhci_hcd:usb8, the
interrupt from Firewire device happens every time I use USB devices. I
guess this causes FFADO XRUNs.
So in this case you can change the port of USB devices looking
/proc/interrupts and seek the port disrelated to firewire_ohci.
I seldom get FFADO's XRUN with HPET clock source but I have no idea of
technical differences of TSC and HPET...You can change the clocksource
in your kernel option.
o-takashi at sakamocchi.jp
(2011年06月05日 17:24), bart deruyter wrote:
> Hi all,
> since recently I'm experiencing more xruns in ubuntustudio 11.04, more
> specifically using the lowlatency kernel. My audiocard is an external
> one, firewire, and I use the firewire driver. They just started
> happening out of the blue, without changing anything significantly.
> These xruns happen randomly, not caused by anything I do on the desktop.
> When I keep qjackctl running without any audio apps open, now and then,
> about each half hour, or 20 minutes, there is an xrun.
> My limits.conf file seems to be as described on the wiki's over the web,
> I have 4 GB or ram, a duocore processor.. I see no reason for problems.
> I've got a latency of 17.4 msec, with a setting of 256 Frames/Perios,
> Sample Rate of 44100, and 3 Periods/Buffer. So far this was the most
> stable setup, though I'm sure I should be able to go to 128
> Frames/Period with my AudioFire12. But I can't, more xruns happen when
> using this setting. Setting the samplerate higher I get more xruns too.
> I'd love to record on 96000, or even 192000, which is possible with the
> audiocard, but the computer system prevents this because of these xruns.
> This does make it unreliable for recording, which I want to do more
> regularly and it makes me impossible to do recordings for others. I do
> not want a system where I have to ask people to start playing again for
> the recording because xruns.
> So, I was wondering, are there diagnostic tools, test scrips, tracing
> tools to get me to the bottom of this?
More information about the Ubuntu-Studio-users