|
From: Luis P. G. <lpg...@gm...> - 2011-04-18 15:35:43
|
Hi, I'm trying to use my firewire cards (Alesis IO14 and Yamaha GO46) for recording my saxophone over a previously recorded session with Ardour and I'm unable to do it because I experiment xruns more often that it should be no matter which interface I use.. I get xruns even when not playing/recording music. I'm using FFADO trunk version and Jackd 1.9.7 (QJackCTL with default settings). The strange thing is I'm able to do it with an EMU 0404 USB (which is supposed to be more prone to xruns than a firewire interface) with 0 xruns. As I mention in the subject I get xruns in both 2 distros (Mandriva and Fedora) so I guess it's an IRQ issue but I'm unable to follow this guide: http://subversion.ffado.org/wiki/IrqPriorities This is what I get: ... cat /proc/interrupts CPU0 CPU1 0: 125 9 IO-APIC-edge timer 1: 4 4032 IO-APIC-edge i8042 4: 0 4 IO-APIC-edge 8: 0 1 IO-APIC-edge rtc0 9: 0 0 IO-APIC-fasteoi acpi 12: 953 182082 IO-APIC-edge i8042 14: 0 0 IO-APIC-edge pata_atiixp 15: 0 0 IO-APIC-edge pata_atiixp 16: 0 1 IO-APIC-fasteoi ohci_hcd:usb2 17: 1 44 IO-APIC-fasteoi ohci_hcd:usb3, ohci_hcd:usb5 18: 356 103082 IO-APIC-fasteoi ohci_hcd:usb4, ohci_hcd:usb6, radeon 19: 30 5586 IO-APIC-fasteoi ehci_hcd:usb1 20: 146 65627 IO-APIC-fasteoi firewire_ohci 21: 2 92 IO-APIC-fasteoi ICE1724 22: 335 142664 IO-APIC-fasteoi ahci 41: 195 85324 PCI-MSI-edge eth0 NMI: 0 0 Non-maskable interrupts LOC: 964322 1031999 Local timer interrupts SPU: 0 0 Spurious interrupts PMI: 0 0 Performance monitoring interrupts PND: 0 0 Performance pending work RES: 607534 426798 Rescheduling interrupts CAL: 1645 1509 Function call interrupts TLB: 9531 6635 TLB shootdowns TRM: 0 0 Thermal event interrupts THR: 0 0 Threshold APIC interrupts MCE: 0 0 Machine check exceptions MCP: 9 9 Machine check polls ERR: 0 MIS: 0 ps -eLo pid,cls,rtprio,pri,nice,cmd | grep -i "irq" 3 TS - 19 0 [ksoftirqd/0] 7 TS - 19 0 [ksoftirqd/1] 5476 TS - 19 0 grep --color=auto -i irq I have no chance to know each IRQ priority and/or modify it. This is the output of ffado-diag: ... FFADO diagnostic utility 2.999.0-1980M ============================ (C) 2008 Pieter Palmers 2009-2010 Arnold Krille === CHECK === Base system... kernel version............ 2.6.35.12-88.fc14.x86_64 old 1394 stack present.... False old 1394 stack loaded..... False old 1394 stack active..... False new 1394 stack present.... True new 1394 stack loaded..... True new 1394 stack active..... True /dev/raw1394 node present. False Prerequisites (dynamic at run-time)... gcc ............... gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) g++ ............... g++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) PyQt4 (by pyuic4) . sh: pyuic4: no se encontró la orden jackd ............. no message buffer overruns path ............ /usr/bin/jackd flags ........... Package jack was not found in the pkg-config search path. Perhaps you should add the directory containing `jack.pc' to the PKG_CONFIG_PATH environment variable No package 'jack' found libraw1394 ........ 2.0.5 flags ........... -lraw1394 libavc1394 ........ 0.5.3 flags ........... -lavc1394 -lrom1394 -lraw1394 libiec61883 ....... 1.2.0 flags ........... -liec61883 -lraw1394 libxml++-2.6 ...... 2.33.2 flags ........... -pthread -I/usr/include/libxml++-2.6 - I/usr/lib64/libxml++-2.6/include -I/usr/include/libxml2 - I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include - I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include - I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -lxml++-2.6 - lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lgthread-2.0 -lrt -lglib-2.0 dbus-1 ............ 1.4.0 flags ........... -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -L/lib64 -ldbus-1 -lpthread -lrt Prerequisites (static at compile-time)... gcc ............... gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) g++ ............... g++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) PyQt4 (by pyuic4) . sh: pyuic4: no se encontró la orden jackd ............. no message buffer overruns path ............ /usr/bin/jackd flags ........... Package jack was not found in the pkg-config search path. libraw1394 ........ 2.0.5 flags ........... -lraw1394 libavc1394 ........ Package libavc1394 was not found in the pkg-config search path. flags ........... Package libavc1394 was not found in the pkg-config search path. libiec61883 ....... 1.2.0 flags ........... -liec61883 -lraw1394 libxml++-2.6 ...... 2.33.2 flags ........... -pthread -I/usr/include/libxml++-2.6 - I/usr/lib64/libxml++-2.6/include -I/usr/include/libxml2 - I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include - I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include - I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -lxml++-2.6 - lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lgthread-2.0 -lrt -lglib-2.0 dbus-1 ............ 1.4.0 flags ........... -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -L/lib64 -ldbus-1 -lpthread -lrt Hardware... Host controllers: 03:05.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller [104c:8025] (rev 01) (prog-if 10 [OHCI]) Subsystem: Syba Tech Ltd Device [1592:0005] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (500ns min, 1000ns max), Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 20 Region 0: Memory at fdeff000 (32-bit, non-prefetchable) [size=2K] Region 1: Memory at fdef8000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: firewire_ohci Kernel modules: firewire-ohci CPU info: Architecture: x86_64 CPU op-mode(s): 64-bit CPU(s): 2 Thread(s) per core: 1 Core(s) per socket: 2 CPU socket(s): 1 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 15 Model: 107 Stepping: 2 CPU MHz: 1000.000 Virtualization: AMD-V L1d cache: 64K L1i cache: 64K L2 cache: 512K NUMA node0 CPU(s): 0,1 Configuration... IRQ information Hardware Interrupts: -------------------- IRQ 0: PID: None, count: [125, 125], Sched None (priority None), drivers: ['timer'] IRQ 1: PID: None, count: [5, 5], Sched None (priority None), drivers: ['i8042'] IRQ 4: PID: None, count: [0, 0], Sched None (priority None), drivers: [''] IRQ 8: PID: None, count: [0, 0], Sched None (priority None), drivers: ['rtc0'] IRQ 9: PID: None, count: [0, 0], Sched None (priority None), drivers: ['acpi'] IRQ 12: PID: None, count: [960, 960], Sched None (priority None), drivers: ['i8042'] IRQ 14: PID: None, count: [0, 0], Sched None (priority None), drivers: ['pata_atiixp'] IRQ 15: PID: None, count: [0, 0], Sched None (priority None), drivers: ['pata_atiixp'] IRQ 16: PID: None, count: [0, 0], Sched None (priority None), drivers: ['ohci_hcd:usb2'] IRQ 17: PID: None, count: [1, 1], Sched None (priority None), drivers: ['ohci_hcd:usb3', 'ohci_hcd:usb5'] IRQ 18: PID: None, count: [365, 365], Sched None (priority None), drivers: ['ohci_hcd:usb4', 'ohci_hcd:usb6', 'radeon'] IRQ 19: PID: None, count: [30, 30], Sched None (priority None), drivers: ['ehci_hcd:usb1'] IRQ 20: PID: None, count: [146, 146], Sched None (priority None), drivers: ['firewire_ohci'] IRQ 21: PID: None, count: [2, 2], Sched None (priority None), drivers: ['ICE1724'] IRQ 22: PID: None, count: [339, 339], Sched None (priority None), drivers: ['ahci'] IRQ 41: PID: None, count: [196, 196], Sched None (priority None), drivers: ['eth0'] Software Interrupts: -------------------- === REPORT === FireWire kernel drivers: The new FireWire kernel stack is loaded. This is still kind of experimental. If you encounter problems, please also check with the old stack. ... The problem is I can't use the old stack with Fedora current kernel. Things get better (but not perfect) if I use the CCRMA RT kernel but I should be able to do it with the regular kernel. My firewire card has the TI chipset. Your help will be really appreciated. Thank you in advance, Luis Pablo |