Monday, September 18, 2017

pci express - PCIe x8 NIC in PCIe x16 slot



I have a motherboard with only one x16 PCIe slot and no x8 slots. I am buying a NIC with very specific configuration, but it is available for x8 slots only. Can I plug a x8 card in a x16 slot? I have googled this question and this seems quite possible. However, I need answer from an expert. Also, are there any performance implications?


Answer



What should be: The PCIe spec states that all slots start at 1x/v1.0 and negotiate how many lanes they can use and what clock speed. It shouldn't matter which supports more lanes/clock, some slots are designed to take larger cards and smaller cards fit in larger slots. Whatever the highest spec both sides can communicate at (both the number of lanes and the clock/version), that is the speed that will be negotiated and used. Endpoints can support 1x, 2x, 4x, 8x, 16x, and 32x, though there are no slots specifically for 2x and 32x. Speed is specified by major version number (2.5, 5.0, 8, 16 GT/s).



What really is: Usually what should happen is what actually happens. But there are quite a few boards (especially enthusiast boards) that do not follow spec. Some motherboards will not use anything but a 16x video card in their first PCIe slot. Others will not auto-negotiate correctly (commonly falling back to less lanes - this seems particularly common with 2x cards that negotiate to 1x speed). In server grade hardware these problems are very rare, but it happens. If both the system/motherboard are from the same manufacturer as the card, you should be able to contact their support and find out if it's a supported configuration (if they don't know or can't answer it's a huge redflag and you should consider not buying from them/returning). Also, try searching your particular motherboard and see if anyone has reported a problem.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...