Comment 12 for bug 75055

Revision history for this message
Gord (alyceh) wrote :

Back for more commentary ....

I can't imagine any ordinary Linux user actually reading that MSI-HOWTO, it has little relevant to fixing boot/installation problems, and it doesn't appear current. Pitty.

If a person runs 'lspci -vvx | less' (pipe output of lspci -vvx into the less program), and then search for "Message Signalled Interrupts", you will find all the PCI devices on your system which should support MSI/MSI-X. Unfortunately, the stanzas of output are sufficiently long that you need to page up (hence you can't use more or pg for paging) in order to find the PCI device (which is of the form NN:NN.N).

On the Asus M2R32-MPV, the devices are: 00:02.0, 00:12.0, 00:13.[012345], 00:14.1, 00:14.2. On my machine, I have an additional device (video of 01:00.0).

In order to get the device and vendor codes for use in a boot parameter of device_msi=a,b,c, I found that the hwinfo program is "useful". There is far more output in hwinfo that just this, so you have to search for it. Piping into less, and having it look for the PCI device numbers is probably the easiest thing to do.

00:02.0 is the RS 480 PCI-X device/function with 0x5a341002

00:12.0 is the SATA part of the ATI SB-600 with 0x43801002

00:13.[012345] is the bank of 6 USB device/functions with:
0 -> 0x43871002
1 -> 0x43881002
2 -> 0x43891002
3 -> 0x438a1002
4 -> 0x438b1002
5 -> 0x43861002

00:14.1 is the IDE part of the ATI SB-600 with 0x438c1002

00:14.2 is the Azalia (sound) part of the ATI SB-600 with 0x43831002

The numbering of devices seems a bit odd to me. 0x4384 and 0x4385 seem to be missing, and 0x4386 is placed oddly.

In quite a few discussions of problems in booting/installing, the Local APIC gets mentioned occasionally. I gather this is LOCAL to a chip or function? Anyway, MSI seems to require the presence of a LOCAL APIC. Hence, you can't mix the nolapic parameter with other options in trying to get a system working.