[Asterisk-Users] Intel Desktop MotherBoards *NOT* Unsuitable
for Digium Boards
Forrest W Christian
fwc at mt.net
Wed Nov 9 21:31:44 MST 2005
George Pajari wrote:
> To make a long story short, according to Intel Dealer Technical
> Support (we became Intel dealers in order to get answers to our
> questions) there is no Intel motherboard that permits the IRQs to be
> configured uniquely. They are all hardwired and shared. This
> information applies to both the Intel Desktop Board and Server Board
> product lines.
I have been using a D945GNT with great success, even with shared
interrupts. But read on for a solution I just found..
I shared your frustration with not being able to get the interrupts to
move to not being shared. What is more frustrating is that I knew with
almost certainty that every device had a distinct interrupt line wired
into the APIC, and that linux wasn't moving the interrupts off of a
single interrupt.... Or stated differently, I knew, with reasonable
certainty, that the hardware of the machine was capable of moving any
device to almost any interrupt, but the software wasn't asking the
hardware to do so. This functionality is available in almost every
reasonably modern intel chipset.
My interrupts looked something like this:
# cat /proc/interrupts
CPU0
0: 1507033453 XT-PIC timer
1: 730 XT-PIC i8042
2: 0 XT-PIC cascade
8: 1 XT-PIC rtc
9: 0 XT-PIC acpi, ehci_hcd, uhci_hcd
10: 1169132 XT-PIC libata, uhci_hcd
11: 1593809534 XT-PIC eth0, uhci_hcd, uhci_hcd, wct4xxp
12: 66 XT-PIC i8042
NMI: 0
ERR: 0
Didn't matter if I moved the card to a different slot, etc. etc. etc.
etc.. Always on interrupt 11.
In short, the motherboard was putting everything on interrupt 11 in
XT-PIC mode. This was a *software* issue.
Someone mentioned IO-APIC in this thread, and it lit up a different part
of my brain for me to be able to search around the net and find that at
least under CentOS, you have to be running a SMP kernel (even on a UP
machine) to be able to get the IO-APIC functionality.
Now, with a SMP kernel I get:
# cat /proc/interrupts
CPU0
0: 55935 IO-APIC-edge timer
1: 8 IO-APIC-edge i8042
8: 1 IO-APIC-edge rtc
9: 0 IO-APIC-level acpi
12: 66 IO-APIC-edge i8042
169: 0 IO-APIC-level uhci_hcd
185: 0 IO-APIC-level uhci_hcd
193: 0 IO-APIC-level uhci_hcd
201: 0 IO-APIC-level ehci_hcd, uhci_hcd
209: 17700 IO-APIC-level wct4xxp
217: 201 IO-APIC-level eth0
233: 5187 PCI-MSI libata
NMI: 0
LOC: 55761
ERR: 0
MIS: 0
Much Better.
For reference:
Linux 2.6.9-22.0.1.ELsmp #1 SMP Thu Oct 27 13:14:25 CDT 2005 i686
i686 i386 GNU/Linux
-forrest
More information about the asterisk-users
mailing list