Is it possible to pass PCI express data signals via an express card USB 3.0 adapter

pci-expressserial portusbusb-controllerwindows

I have a Magideal Dual Ports HUB PCI-E USB 3.0 Express Card Adapter that I use as a PCIe to USB 3.0 adapter.

I want to connect an external GPU (as a PCI express device) via a USB 3.0 cable which only carry PCIe signals to the adapter. My GPU is connected to a riser with a USB 3.0 cable as connector. It looks like this model:

enter image description here

But the problem here is that the adapter only accept usb devices and my Windows 10 throws an error as:

"USB device not recognized."

Is there any software method (e.g. changing USB host controller) to only pass or proxy the raw data signals to the parent PCI express bus, so that my computer recognizes it as a PCI device.

This is the connection tree when I connect a USB 2.0 flash drive to the adapter:

enter image description here

Best Answer

Is there any software method (e.g. changing USB host controller) to only pass or proxy the raw data signals to the parent PCI express bus, so that my computer recognizes it as a PCI device.

In theory it would be possible, as that's exactly what Thunderbolt/USB4 does, but you won't be able to make a basic USB3 host controller behave that way. "Changing the USB host controller" is not a software method, as the controller found in your card is a purpose-made ASIC and is not fully reprogrammable; the chance of it having a direct pass-through mode is nearly 0.

It might be much easier to cut out the USB3 controller entirely and wire your "PCIe cable" directly to the PCIe slot inside the ExpressCard bay (presumably the same way as is done on the eGPU side).

Either way, though, your x16 eGPU would also be limited to an x1 PCIe connection, both on the ExpressCard side and through the USB3 cable.

Related Question