Setting IRQ in Linux

MacGyver031

Junior Member
Sep 10, 2003
6
0
0
Hi,
I think, I need to set the IRQs properly for my devices (to many free IRQs and to many conflicts!)

Where and how do I set IRQ for PCI Devices?

System: PII 400MHz
OS: Redhat 9, running w/o Graphical Enviornement as a Server.
Kernel: 2.4.20-8

Thank you.
 

rmrf

Platinum Member
May 14, 2003
2,872
0
0
what devices are confilcting? that would help narrow things down. and a google search never hurt anything if you haven't already tried that.
 

MacGyver031

Junior Member
Sep 10, 2003
6
0
0
I have already tried http://www.alltheweb.com, but all my requests end up with "How to change IRQ for my seiral port" and "Serial Port FAQ" even if I just entered "irq conflict change howto".
I was tired of going into Serial-IRQ howto -> IRQ What is that-> Look here /proc/interrupt ->
I got mad and crazy of this ......

@rmrf: You know a link, then post it. If you don't, don't assume I didn't use the search engine.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
PCI IRQs don't conflict, PCI was designed with IRQ sharing in mind. The only way to change what the visible IRQs are is to move slots or reassign them in the BIOS and even then the numbers you see are only virtual, there's only 4 real IRQs any more, the numbers are used for backwards compatibility.
 

rmrf

Platinum Member
May 14, 2003
2,872
0
0
and a google search never hurt anything if you haven't already tried that.rmrf
@rmrf: You know a link, then post it. If you don't, don't assume I didn't use the search engine.MacGyver031

I was being nice about it, and I don't care if you are getting mad. don't get snippy with me
 

cleverhandle

Diamond Member
Dec 17, 2001
3,566
3
81
Some devices can have IRQ's specified by arguments passed to insmod/modprobe. Not many though. And, as Nothinman said, IRQ sharing really shouldn't be a problem with a PCI system. Do you have a specific problem that is leading you to IRQ's? If not, then leave them alone.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Some devices can have IRQ's specified by arguments passed to insmod/modprobe

I've only seen drivers support that so they don't have to probe multiple IRQs on the ISA bus, which can hang the system.
 

cleverhandle

Diamond Member
Dec 17, 2001
3,566
3
81
Yeah, I was under the impression that those modules were all for ISA PnP devices as well. But I've never thoroughly investigated it.
 

rjain

Golden Member
May 1, 2003
1,475
0
0
the kernel now reads isapnp config info directly instead of having to use that stupid isapnptools package and then forcing you to put the config info in the isapnp.conf into the module's options. The whole point of those irq params is so that you can tell the kernel the irq if it can't figure that out. The IRQ of the card is a hardware thing, set up by jumpers or the BIOS (and possibly re-configured by the OS, which linux sometimes does).
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Linux isn't plug-n-play... It has some very limited control over the stuff like IRQ's, but not a whole lot. I realy haven't figured it out to much myself. Generally it expects your BIOS to set all that stuff up properly, which is what it's job is.... Unless you have some ISA slots you shouldn't have to mess around with that sort of thing.

Umm... some usefull information is located in the /proc/interrupts files. That will show your IRQ's and what they are assigned to. Maybe if you post it somebody may have a revelation. :)

Other thing to try is by messing around with your bios.

Try setting it to PnP-aware OS to "off" or "on".. basicly the oppisite of what you have now. And try that.

You can try setting the "VGA dedicated interrupt" on or off.. or something like that.

All this stuff is kinda of a mystery, each Motherboard Manufafture doesn't a bit differently. AH THE JOYS OF THE x86 PLATFORM!!! YA!

You can try disabling the sound card if you don't use it or any other on-board device you don't use like the com ports.. that will free a couple interrrupts up. Even on some motherboards it will think it has a on-board device that may not exist in your revision.

But usually if it seems like a interrupt problem it probably isn't.... Linux problems like this are relatively rare so I am not suprised that your having a hard time finding info.


Don't forget that /proc/interrupts file.
 

rjain

Golden Member
May 1, 2003
1,475
0
0
If linux isn't plug-and-play, then windows isn't either.

/proc/interrupts contains the interrupts that YOU told the drivers to use or the interrupts that the pci or isapnp drivers read for the drivers that are loaded. It contains NO USEFUL information.

None of this is really a "mystery". it's just different from one board to another.

In any case, the OP hasn't given a specific problem, so there probably isn't one.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
whatever. Linux is pnp in the same way as win95 is plugnplay. Which is to say, semi-compatable.

Plug-n-Play is one of those things that never ever realy worked out that well. Back in the days of Win95 and Win98 they realy tried very hard to make everything plug-n-play. And we know how well that worked out. Seemed like almost every other time I installed a new peice of hardware I would have to juggle around IOmemory ports and IRQ interrupts in order to get it to work properly.

But I think now we are getting descent BIOSes and cards that have good drivers and firmware themselves the situation has gotten 100% better.

And as far as Windows being plug-n-play I beleive that Microsoft now recommends you answer 'no' to plug-n-play aware OS in the bios menus for XP and W2k. :) So hell if I know.(although don't change it unless you have too if your using windows!)

Anyways.

Here is a nice bit of information on what to do to get PnP working
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Also I think that you can pass settings to the kernel about interupts and the sort during boot up if the driver is compiled into the kernel... you can also modify the behavior of modules (drivers) by using options in the /etc/modules.conf.... But I never done this personally, it's very dependent on the driver for what sort of options it will accept.
 

rjain

Golden Member
May 1, 2003
1,475
0
0
PnP aware OS works great with linux 2.4 and up. (The setting only applies to isapnp, as pnp is implicit in the definition of pci.) The settings about interrupts etc on the kernel cmdline are the same as the ones you pass to the modules, which is what you can put in modules.conf (which is the config for modprobe).

Edit: If you use that link drag posted to set up isapnp and you have kernel isapnp enabled in kernel 2.4, you will most likely never get ANY of your isapnp devices working.