11

Is there a way to interface with PCI/PCI-e hardware, externally; via USB?

I want to attach a PCI-e device to my laptop/notebook.

FireWire, Thunderbolt, or similar would be equally suitable.

2

5 Answers 5

6

There are some on the market now, like this one for thunderbolt 2: http://www.bhphotovideo.com/c/product/1007816-REG/sonnet_echo_exp_se2_echo_express_se_ii.html

If you have USB 3.0 there are limited commercial options - things like the ASUS XG Station 2 which uses 2 usb connections for its external pcie Nvidia card, but accepts other cards (apparently just graphics): http://www.pcworld.com/article/3019297/hardware/asus-rog-xg-station-2-dock-wants-to-up-your-laptops-game-with-desktop-graphics.html

USB 3.1 (which is electrically compatible with thunderbolt 3) has more options, but is only starting to roll out. I'm not aware of any commercial 3.1 products that have general pcie support.

Most of the solutions I've seen have limited application in terms of PCIe cards that they support mostly because of a lack of driver support - graphics over usb is poorly supported by anyone at this point; storage devices have the most support. I'm not aware of a generic USB to PCIe translation 'driver' for any OS, but I'd be surprised if people aren't working on it.

Thunderbolt 2, or 3 if you have it, has good support for external graphics and is your best bet at this point for generic device support.

It's pretty interesting though, as PCIe, SATA, Thunderbolt and USB are all on a path to converging. Which makes sense since they are all electrically very similar.

2
  • 1
    No, not really. USB does not allow devices to present a memory-mapped interface. This is essential to implement PCI or PCIe. May 29, 2016 at 22:56
  • Still waiting for the convergence Feb 17, 2022 at 2:57
6

Bandwidth is not of any significant consideration, as most forms of USB do have enough to support a PCI type interface, even if not at the full speed of the target interface.

As Jamie Hanrahan eluded to on the comments of the first answer, it is not possible to bridge USB to PCIe because of the lack of DMA (Direct Memory Access) support. There is no tweak or kludge that can address this problem - it is fundamentally impossible. For security reasons no future version of USB will implement DMA either.

As was also previously mentioned, Thunderbolt carries PCIe so this is an option for external connection.

This all having been said you will find some examples of PCIe peripherals connected via USB but these work by having a microcontroller between the USB and PCIe interfaces, as a USB slave and PCIe master, then implementing a software emulator that makes this type of connection possible for a specific type of peripheral.

For example - that bridging device may present an NVMe (PCIe interface) SSD as a USB mass storage device to the operating system.

2

Thunderbolt 3 runs four lanes of PCIe 3.0 over the USB Type-C connector, repurposing the USB 3.0/3.1 SuperSpeed pins for the PCIe lanes. This solution is already in use for external graphics docks like the Razer Core. This enables thin-and-light laptops to get an instant graphics boost when plugged in the dock at home.

While this may not achieve precisely what you're trying to do, it certainly is technically possible.

2

It really doesn't work well, as the USB bandwidth is too low and would cause bottlenecking.

The solution would be to use the mini PCIe that most laptops come with. You will find this under a bottom cover with Wi-Fi adapter plugged in. You can buy a riser with a PCIe slot to accommodate an external card that has a cable to plug into mini PCIe, but this will require a power source to run the riser/adaptor and obviously, a hardwired Internet connection. Also one has to leave the plat off or modify it to accommodate the new cable. Truth be told, I've done this; it works, but you lose portability in the laptop unless you’re going to unplug it and put it back together every time. :) Kits can be found on Amazon or a Google search fairly easily (mini PCIe to PCIe adaptor). :)

1
0

I don't believe so at least with out some really special hardware. You would probably be better off getting a cheap HP7540 or another thin client with an expansion bay and using that. The problem is that the bandwidth on the card will likely exceed the USB spec unless you are talking 3.0, and if you are talking for a video card then probably not. You can run USB based video cards. but that's something designed for.

On Laptops the one thing you usually cant upgrade is the video interface because it is often integrated into the motherboard. Processor and memory can be upgraded later.

2
  • You would probably be better off getting a cheap HP7540 or another thin client with an expansion bay and using that. "HP7540"? As in; those old HP CRT monitors? Also, what is a "thin client"?
    – voices
    Apr 24, 2016 at 1:00
  • This is the thin client spec info page This is the Options Sheet This is the expansion bay I spoke of:HP t5740/t5745 Expansion Module : AZ551AA Apr 27, 2016 at 20:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .