[olug] SuSE 9.0 problems w/X freezing

Daniel Linder dan at linder.org
Wed Dec 10 20:21:19 UTC 2003


I'll preface this e-mail by saying that I haven't used the "setpci"
program but I can see that it could be a powerfull tool for these tricky
situations... :)

> I did a man of setpci but didn't see anything about setting irq values.
> Can you enlighten me about reassigning irqs with setpci (or were you
> thinking of some other usage of it)?

I would assume that you would have setpci modify the "INTERRUPT_LINE"
and/or the "INTERRUPT_PIN" settings of one or both of the cards.

I *think* this would be the command:
>> setpci A:B.C INTERRUPT_LINE=XXX

The "A:B.C" is the value for the firewire or eth0 device that "lspci"
returns for that device.  The INTERRUPT_LINE=XXX would need to be set to
some other "free" interrupt.  Can anyone try this and see if this works? 
When you try it, you might want to be in single-user mode and get ready
for a reset/power cycle just in case the setpci command panics the
kernel... :)

> Now the question I have it: Is firewire and eth0's attempt to share IRQ 5
> causing the system to crash only when X is started?  I don't see the
> connection.  The system seems quite stable as long as I don't start up X.

The PCI bus is designed so that multiple devices should be able to share
the same interrupt.  Unfortunatly, if you have problems it could be either
hardware or driver based (or both) if either don't hande the sharing
properly...

In the past, ways I have circumvented the PCI interrupt problem is to move
the cards to different PCI slots and have the system "re-learn" devices. 
through the magic of the PCI specification, there is a `voting` process
that the cards and the computer bus go through upon bootup that try and
give each card all that they want without stepping on other devices
requirements.  Furthermore, some system BIOS'es can "reserve" an interrupt
for a specific PCI or AGP slot -- might want to "reserve" IRQ 5 for your
eth0 and make the firewire card find another IRQ.

If you don't use firewire, you could always remove or disable that card in
this system -- that would be the quickest solution.

Dan


More information about the OLUG mailing list