I have a S3000AHLX Intel server board with a Core2 Duo CPU. The motherboard has two onboard NICs, one PCI and one PCI-Express. Both are using the e1000 chip. Then I have another PCI-Express NIC also with the e1000 chip. Three NIC's in total. The problem is getting them to work...
If I enable PCI-Express in the kernel config, the two PCI-Express cards work fine, but as soon as I try to enable the the PCI card the system freezes. Actually it does not freeze completely, but the ifup command hangs, and as soon as something tries to write to the disk, the system is completely frozen. If all cards are set to auto, then the system freezes at boot when the NICs are enabled. It does not matter if I enable the PCI-Express NICs or not, if only I have PCI-Express support in the kernel, the system will freeze. All three cards are detected at boot however, and dmesg also lists them as two PCI-Express and one PCI.
Now, if I disable PCI-Express support in the kernel, the PCI NIC works fine, but of course the PCI-Express cards do not - they are not even detected.
Am I trying to do the impossible by getting a PCI and two PCI-Express cards using the same module working at the same time, or have I missed some option I need to set in the kernel?
One thing I did notice is that I must enable MSI and MSI-X in the kernel. If I don't then the system will freeze when the PCI-Express cards are brought up.
Some more information about my setup... The kernel is version 2.6.19.1 compiled with SMP support. However, /proc/cpuinfo lists only one core of my Core2 Duo CPU? During boot the motherboard shows "Intel Core2 E6300 1 logical processor(s)" but when entering the BIOS, it shows "Intel Core2 Duo". Strange... but that's a question for another time