[vox-tech] Force-setting IRQ of a PCI device

Michael Wenk vox-tech@lists.lugod.org
Sat, 17 Jan 2004 21:19:05 -0800


On Saturday 17 January 2004 07:32 pm, Mark K. Kim wrote:
> While at the IF, we had a system that wouldn't recognize the IRQ of the
> cardbus "controller."  (And, as a consequence, Linux set its IRQ to IRQ
> 0.)  We were trying to get a wireless NIC working, but the modules
> (y-something module and all other modules that depend on it) wouldn't
> load.  The error message was:
>
>    PCI: No IRQ known for interrupt pin A of device 00:0a.0. Please try
>    using pci=biosirq.
>
> or something like that.  The obvious solution was to assign an IRQ to the
> PCI device from the BIOS, but the BIOS was a bare-bone BIOS that had no
> PCI options at all.  We tried passing pci=biosirq to the kernel at boot
> but that just froze the system during PCI discovery.

The kernel would take that and attempt to use the interupt "biosirq" which 
does not exist, which is what causes the hang.  

> So we were thinking -- We can get a newer BIOS that knows PCI, which we
> couldn't find any.  Another option was to force-assign an IRQ to the PCI
> device (by its device ID) but nobody knew how to do it.  Some web-browsing
> shows that ACPI has some PCI IRQ rerouting thing happening but I can't
> find any more information about what that is or how to use it.
>
> Sooooooooo...  Does anyone know how to force-assign an IRQ to PCI devices?
> Would that even work?

Well I assume the card is PnP, so maybe some plug and play program ? 

I havent had to mess with interupts since the jumper days... :) 

Or you could get the device id from /proc/bus/pci/devices 

Maybe get an updated BIOS for the motherboard in question? 



-- 
wenk@praxis.homedns.org
Mike Wenk