keywords: ip pbx voip gateway gsm gateway

×

Notice

The forum is in read only mode.
× Questions about G400/G410 Cards.

G400E interrupts - try to unshare

11 years 11 months ago #8100 by Atom2
Hallo forum,
I have a G400E (PICe version). If I try to assign the card to a KVM machine, I get an error message about shared interrupts. According to this link
wiki.openvox.cn/index.php/OpenVox_G400E_Installation_Manual
it is possible to change the INT-pin assignment during a firmware upgrade.

Currently the output of "lspci -vvx" shows the following information:
______________________________________________________________________________________________________
03:00.0 Unassigned class [ff00]: Device 1b74:0100 (rev 01)
Subsystem: Device 1b74:0104
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin A routed to IRQ 5
Region 0: Memory at fbe00000 (32-bit, non-prefetchable) [size=64K]
00: 74 1b 00 01 03 00 00 04 01 00 00 ff 00 00 00 00
10: 00 00 e0 fb 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 74 1b 04 01
30: 00 00 00 00 00 00 00 00 00 00 00 00 05 01 00 00
______________________________________________________________________________________________________

Now what I find interesting to start with is that the output looks different to the information posted in the installation manual link above:
______________________________________________________________________________________________________
01:04.0 Class ff00: Unknown device 1b74:0100 (rev 01)
Subsystem: Unknown device 1b74:0104
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 66
Region 0: Memory at dedf0000 (32-bit, non-prefetchable) [size=64K]
______________________________________________________________________________________________________

If I read the output correctly, my card obviously differs from the card in the installation manual insofar as DisINTx- and INTx- are both disabled and my IRQ is routed to one of the lower 15 IRQs (5) instead of a higher value IRQ (i.e. 66 in the output of the installation manual). Could someone please explain that difference to me? It looks to me as if my card behaves like a G400P (PCI version) instead of as a G400E (PCIe version). The reason for buying the PCIe cards was really to avoid IRQ sharing issues ...

Could someone furthermore please provide me with a link for the firmware upgrade tool (I only found one for the G400P, but not the G400E) that allows to change the IRQ pin assignment.

The same is then also needed for a A800E which also shares an interrupt with another device. Output of for that cards looks as follows:
_______________________________________________________________________________________________________
06:00.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
Subsystem: Device 9500:0003
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- NTx-
Latency: 32 (250ns min, 32000ns max)
Interrupt: pin A routed to IRQ 11
Region 0: I/O ports at e000
Region 1: Memory at fbc00000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=55mA PME(D0+,D1-,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: 59 e1 01 00 07 00 10 02 00 00 80 07 00 20 00 00
10: 01 e0 00 00 00 00 c0 fb 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 95 03 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 01 80
__________________________________________________________________________________________________________

Please note: The same issue comes up again here for "DisINTx-", "INTx-" both disabled and the assignment to one of the lower IRQs (11 in my case). It also looks as if this behaves like a PCI card as opposed to a PCIe card.

Could it be that both my cards contain an incorrect firmware, namely for the PCI versions instead of the PCIe version?

Thanks and best regards Atom2
11 years 11 months ago #8103 by Joe.Yung
Hi Atom2,

At present, G400P is not able to run on KVM. Meanwhile, G400P can not modify pins to avoid IRQ sharing over firmware upgrate. That's a plan,but it's not been released so far.

11 years 11 months ago #8104 by Atom2
Hi Joe.Yung,
You said: "At present, G400P is not able to run on KVM. Meanwhile, G400P can not modify pins to avoid IRQ sharing over firmware upgrate. That's a plan,but it's not been released so far."

This is not in line with your own documentation, namely http://wiki.openvox.cn/index.php/Troubleshooting_of_PRI_cards , where you clearly state under question Q62 that the procedure described there also applies to the G400P: "Here taking D430P for an example to introduce how to use opvx-update. Note: This tool also applys to G400P,A2410P,D230 and D130.". Being able to reroute an interrupt is is a very important feature and should be released asap, not the least to be in line with the documentatiion and the expectations you set therein.

In any case, my question was about a G400E (the PCIe version) and I firstly do not understand why there are discrepancies between what you list in the installation manual and my output for "lspci -vvx": Your output connects to IRQ 66, my output uses one of the precious lower IRQ lines, namely 5. How can I change this? I don't think this is connected to the slot the card is in because in every slot my card uses one of the lower 15 interrupts.

Furthermore the manual for the G400E also clearly states at http://wiki.openvox.cn/index.php ... Installation_Manual under "additional function": "While G400E allows users to modify interrupt pin during firmware upgrade for avoiding conflict."

PCIe according to my knowledge is not limited to 16 interrupts and can use the MSI or MSIx method. This is indicated by the output in your installation manual where the card's pin A interrupt was routed to 66. My card uses 5 which is shared with another (legacy) PCI card in my system. For PCIe cards with lots of interrupts available there is absolutely no reason to share interrupt with legacy PCI cards.

The reason for me to buy PCIe cards (as opposed to the legacy PCI counterpart) was to avoid any issus with shared interrupts used by other legacy PCI cards in my system.

What about the A800e - also a PCIe card which uses one of the precious lower interrupts (11 in my case). This use also conflicts with another legacy PCI card installed in my system.

Regards Atom2

i] Last edited by Atom2 at 2012-5-30 17:36 [/i
11 years 11 months ago #8105 by miaolin
Dear Atom2:
Are you trying to sue G400E with KVM software together or use G400e in KVM?

I doubt you could not use G400E in KVM, I do not know much about KVM, but it should be possible you run G400E in the main OS while KVM to run other applications.

At this moment, G400E still not support change irq pin, it need a new release of firmware. it could not support MSI type irterrupt due to design limitation.

A PCI system can only use 4 irq at the most accord to PCI Spec,
11 years 11 months ago #8106 by miaolin
shared IRQ is not always a issue, share IRQ with busy device might lead to issue, for example, share irq with hdd or NIC controller, but if your system have more than 4 NIC, you could not avoide share irq.
11 years 11 months ago #8107 by Joe.Yung
Hi Atom2,

Perhaps I did not clear my point. The Q62 of the wiki means that the tool is apply to G400P. Yes, G400P is able to use this tool to update its firmware. But actually it only applies to the new generation cards(Like A810P/e, A1610P/e and A2410P/e, D130P/e, D230P/e and D430P/e, but not including G400P) for the pin revise. I think Q62 didn't make it perfectly clear.

One more thing, A800e is also not able to change the IRQ number by this tool. How about using our A810 instead?

Time to create page: 0.042 seconds
Powered by Kunena Forum