Summary: PCIe HBAs do not function in 2 out of 4 slots on board.
Setup detail and previous steps: I have an Intel S5000PSL board currently populated with dual xeon CPUs and 32GB RAM (8x4GB). The RAM is new, as the old RAM was previously failing memtest. I've now ran memtest on this board with the new RAM for several days without error. The board has 4 PCIe slots: two x4 lanes that go to the IO bus and two x8 lanes that go to the memory bus. I have 3 LSI SAS3081e HBAs that individually work fine in either x4 slot, but fail to initialize in the x8 slots. Their diagnostic light does not even activate when installed in the x8 slots.
I've flashed the HBAs to the latest firmware, re-flashed the motherboard bios to the latest firmware (it already had the latest installed but I figured I'd do it again just to be sure there wasn't a problem there). If I boot to linux, lspci shows all 4 slots themselves exist and seem to be initialized (also verified that enabled=1 in /sys/bus/pci/devices/). Just for kicks, I went through and set every device in /sys/bus/pci/devices to enabled=1 and then ran:
echo 1 > /sys/bus/pci/rescan
and there was still nothing registered in dmesg.
I still only see the HBA when it's plugged into an x4 slot, even with all other slots empty.
I also reseated all power connectors to the motherboard.
Here's the manual for the board in question
I'm running out of things to try and am ready to call the board dead and order a new one, but figured I'd at least ask here first to see if anyone is familiar with this sort of problem or sees something obvious I might have forgotten. My extensive searching on the problem and lack of finding anyone reporting similar issues is leading me to believe it's simply a hardware issue.