TL;DR: PCI Express USB card does not work on bottom PCI Express slot (rated at Gen3 4x on the manual). It works on secondary PCI Express slot, but then video card works at 8x.
I have a Ryzen build with the following components:
- Asus Crosshair VI Hero (BIOS 1403) - Ryzen 1800X (default speed) - 32 GB G.Skill DDR4-3200 (at 2133 Mhz) - Samsung 960 Evo 512 GB (NVME M.2) - 2 x Samsung 840 Evo 1 TB (RAID 0) - NVIDIA Titan X Pascal (PCIEX16/X8_1)
Everything is working perfectly (I still haven't tried to clock my RAM at 3200 Mhz, that will come later), but I need a dedicated USB 3.0 card with independent ports for bandwidth consuming USB devices, so I purchased a Startech card with 4 independient USB controllers at 5 Gb/s each:
This card uses a PCI Express 3.0 x4 bus, so I installed it on the bottom PCI express slot, the one named PCIEX4_3. The manual says that plugging a PCI Express 3.0 x4 card disables the three PCI Express x1 slots, and I'm ok with that because I'm not using more expansion cards.
So I plug the card, attach the power connector to it and boot my computer. When Windows 10 starts, I get 4 new USB host controllers, that's correct, but Windows can't start these devices (code 10). They are named "Generic Host USB controller xHCI compatible" and they can't be started. By the way, Windows takes quite a while to load (it was lightning fast before plugging the card). So I try everything I can think of: remove the device from control panel, detect again, disable, enable, reboot... I even downloaded the driver from the card manufacturer, which is older and not meant for Windows 10. When installing that driver the card is recogniced as Renesas USB 3.0, but it still gets the alert icon and the Error Code 10.
So I try to move the card to another slot, and I plug it under the grphics card, into PCIEX8_2, the slot meant for dual video cards, and then Windows boots really fast, as before, and the card is successfully recogniced as Renesas USB 3.0 host controller (4 of them) and it works fine. The problem of using this slot is that my graphics card is reduced to PCI Express x8, so I want the USB card on the other slot. I move devices again, and the problem happens again: card is recogniced as generic USB 3.0 that can't be started by Windows.
I tried to change PCIEX values in BIOS, there is an option to force that slot into x4 mode, but it does not help. The USB card simply doesn't work on the bottom PCI Express slot. As far as I know, this slot only shares bandwidth with the 3 PCIEX 1x slots so it should work fine if there are no more expansion cards.
Is my PCIEX4_3 slot defective? Any ideas? I'm willing to reinstall Windows, but don't know if it may help.
There is only one slot that will give you 4x gen 3 but it will put the GPU to 8x gen 3, the other 16x slot is gen 2 so putting a 4x gen 3 card in will only get 4* gen 2(half the bandwidth). Some cards will work fine with that but others might not. AM4 only has 24 pci-e lanes, 16 for GPU (2*16x slots) + 4(m.2 port) + 4(PCH). The 1x’s + the bottom 16x slot go to the PCH and the 2 top 16x go to the CPU. The end result is, if you put a 4x gen 3 in you will drop the GPU down to 8x.
Thanks for the tips, I tried but none of them fixed my issue. I can't understand why the card refuses to work on the third PCI Express slot, which is Gen 3.0 and x4 capable, just as the card needs. I'm really starting to think that my motherboard may have a hardware issue on this slot.