No interrupts from PCI bridge device on Intel core duo Suse 11.1
We have an xembedded.com/Xycom Intel Core Duo with PCI Tundra Universe 2 bridge chip Linux 2.6.27.29-0.1-default.
The problem is the processor doesn't receive any interrupts from the bridge, interrupt 11 below. daisy:~ # cat /proc/interrupts CPU0 CPU1 0: 72 0 IO-APIC-edge timer 1: 0 10 IO-APIC-edge i8042 2: 0 0 XT-PIC-XT cascade 3: 0 1 IO-APIC-edge 4: 0 2 IO-APIC-edge 8: 0 0 IO-APIC-edge rtc0 11: 0 0 IO-APIC-fasteoi MPV991 12: 0 103 IO-APIC-edge i8042 16: 0 0 IO-APIC-fasteoi uhci_hcd:usb2 18: 0 12360 IO-APIC-fasteoi ata_piix, ata_piix 19: 0 0 IO-APIC-fasteoi uhci_hcd:usb3 23: 0 0 IO-APIC-fasteoi ehci_hcd:usb1 223: 0 68760 PCI-MSI-edge eth0 NMI: 0 0 Non-maskable interrupts LOC: 4650638 4650634 Local timer interrupts RES: 1184 1128 Rescheduling interrupts CAL: 1443 61 function call interrupts TLB: 605 430 TLB shootdowns TRM: 0 0 Thermal event interrupts SPU: 0 0 Spurious interrupts ERR: 0 MIS: 0 If we turn off APIC in the BIOS and use legacy PIC and specify the 'noapic' kernel parameter the bridge device interrupts continuously (interrupt 11 below): daisy:/sdb1/esystems/drivers/XIP-2480 # cat /proc/interrupts CPU0 CPU1 0: 61 0 XT-PIC-XT timer 1: 10 0 XT-PIC-XT i8042 2: 0 0 XT-PIC-XT cascade 3: 2 0 XT-PIC-XT 4: 2 0 XT-PIC-XT 5: 0 0 XT-PIC-XT ehci_hcd:usb3 8: 0 0 XT-PIC-XT rtc0 9: 0 0 XT-PIC-XT uhci_hcd:usb2 10: 4765 0 XT-PIC-XT ata_piix, ata_piix 11: 9021 0 XT-PIC-XT uhci_hcd:usb1, MPV991 12: 103 0 XT-PIC-XT i8042 223: 0 382 PCI-MSI-edge eth0 NMI: 0 0 Non-maskable interrupts LOC: 18169 18287 Local timer interrupts RES: 421 510 Rescheduling interrupts CAL: 114 152 function call interrupts TLB: 207 327 TLB shootdowns TRM: 0 0 Thermal event interrupts SPU: 0 0 Spurious interrupts ERR: 0 MIS: 0 'Firmbase' is disabled in the BIOS. I believe this disables USB devices. Can anyone shed any light on this so we can get interrupts working? Many thanks Angela |
A few suggestions: I take it you will try all permutations of these settings.
First of all, I would recompile the kernel _without_ generic support and with your chipset only. Go for edge triggered interrupts, leave the apic on in the bios but be ready to turn it off on the boot line. Then I would go for manufacturers, and driver authors and try for ideas. |
Thanks for the suggestion. I'll certainly try rebuilding the kernel.
The manufacturer suggests setting ide0 to PIO, and disabling ACPI in the BIOS, also supplying irqpoll and acpi=noirq to the kernel. I am in the process of trying this. NB The same driver works correctly on the manufacturer's Intel Pentium III and M running 2.6.13-15-default (Suse 10.0) but we had to turn off ACPI in the BIOS to get interrupts working on the Pentium M. In my experience turning ACPI off solves quite a few problems! |
Solved
We eventually got interrupts to work by supplying the boot parameter noapic to the kernel.
Hope this is help to anyone with the same problem with APIC. |
That's great! I feel your pain, but am glad it's over. Make a mental note that your next mobo has a decent chipset.
Noapic boot parameter brings you back to 16 interrupts, and things land more or less where expected. The big difference is the output of cat /proc/interrupts with & without that. |
All times are GMT -5. The time now is 09:26 PM. |