HP Proliant Gen8 and Digium 1TE220 card - irq sharing?


I currently run Asterisk 1.8.15-cert1 with a 1TE220 card for pri trunk on a Dell Poweredge T410.
DAHDI Version: 2.6.2

Im getting 1 reported IRQ miss when i run dahdi_tool
I have tried switching the PCI slot for the card, but i am still getting reported IRQ misses.

The Dell server shares the same base IRQ between the Nic and all the PCI slots. Meaning the nic, raid controller and digium card is running on the same base IRQ(and u cant change it in bios, ive checked with Dell support). Although they get a new individual virtual irq through APIC.

I get some dropped calles now and again. Also for some callers the DTMF detection fails.

We will be switching to new dedicated hardware for the asterisk telephony. I have been looking at the HP Proliant ML350 gen8 as our new server.

Does anyone know if u can assign individual base IRQs for the PCI slots when it comes to the HP Proliant gen 6 to 8 servers or if u have the same problem as Dell?

Anders Holms

I do not know the answer to your question, but…

I imagine you have a pre-Gen5 TE220? The 5th generation TE220 (from the last 3 years or so) all can adjust their latency to handle interrupts service latencies.

If the device has it’s own line in //proc/interrupts you are probably not going to gain anything by adjusting the first tier physical IRQ assignments. For example in the following output, the APIC has assigned IRQ 169 to both the wct2xxp and one of the USB controllers. Based on what you said I would expect that the wct2xxp driver in your system isn’t sharing it’s IRQ with any other drivers (even if they are above IRQ 16 as assigned by the APIC).

 cat /proc/interrupts | grep wct
169:       5722 1446190300     316958      60009   IO-APIC-level  uhci_hcd:usb1, wct2xxp

You might be able to test this by using /proc/irq//smp_affinity to move the TE220 interrupt to it’s own CPU (the highest “real” CPU) and move all the other interrupts to CPU0.


Thx for ure response sruffell.

My 1TE220 card is a 5th gen card

dahdi_hardware pci:0000:04:08.0 wct4xxp+ d161:1220 Wildcard TE220 (5th Gen)

And it doesnt seem to share the APIC IRQ with any other device

cat /proc/interrupts CPU0 CPU1 0: 766093556 0 IO-APIC-edge timer 1: 3 0 IO-APIC-edge i8042 4: 4429521 152125 IO-APIC-edge serial 8: 1 0 IO-APIC-edge rtc 9: 0 0 IO-APIC-level acpi 12: 4 0 IO-APIC-edge i8042 50: 19 0 IO-APIC-level ehci_hcd:usb1 58: 81 247 IO-APIC-level ehci_hcd:usb2, uhci_hcd:usb5, uhci_hcd:usb7 66: 0 0 IO-APIC-level uhci_hcd:usb3 74: 0 0 IO-APIC-level uhci_hcd:usb4 82: 820 26 IO-APIC-level uhci_hcd:usb6, uhci_hcd:usb8 90: 1895686 21433286 IO-APIC-level ioc0 98: 0 0 IO-APIC-level ata_piix 106: 208065 8193010 IO-APIC-level ata_piix 130: 119 195066696 PCI-MSI-X eth0-0 138: 85261 16786422 PCI-MSI-X eth0-1 146: 6216020 10659716 PCI-MSI-X eth0-2 177: 27042148 738959844 IO-APIC-level wct2xxp NMI: 111897 5692 LOC: 766093483 766093416 ERR: 0 MIS: 0


Current Alarms: No alarms. Sync Source: T2XXP (PCI) Card 0 Span 1 IRQ Misses: 1 Bipolar Viol: 0 Tx/Rx Levels: 0/ 0 Total/Conf/Act: 31/ 31/ 0

I hope my problems will go away when i switch to a dedicated server for my telephony. The current one is also file and domain controller. Although the load average is never above 1 it might affect the call quality in a negative way.

Il try ure suggestion on the new server assigning CPU affinity to CPU2 to the digium card.