OcuLink eGPU works with the Dual M.2 expansion bay module

Hey all, here’s another testimony.

My setup:

  • M2 extension module
  • Aliexpress ribbon cable SFF-8612
  • 3d printed backplate and pins from @Morkale
  • Minisforum Deg 1
  • Nvidia RTX 3090
  • Fedora 41

Card is correctly recognized and I can get video output.
lspci | grep NVIDIA

01:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)

Checking the speed I get between 2.5GT/s and 16GT/s depending on the load, all four M2 lanes are also detected.
sudo lspci -s 01:00 -vv | grep LnkSta

LnkSta:	Speed 2.5GT/s (downgraded), Width x4 (downgraded)

Here are some pictures of the assembly process. In my case I cut the M2 key about halfway through to size 2242 to make room for the cable bend, I think it is cleaner than screwing it in without the spacer.

I was a bit afraid of bending the ribbon cable too much and it took me a couple of careful attempts (it needs indeed to bend quite a lot) but overall the process was quite smooth. I also added a piece of tape to keep it in place while sliding the expansion bay back in.


I am not sure how to proceed right now with benchmarks and testing that everything works ok. I welcome feedback and benchmark requests from fellow Fedora users!

EDIT: For the ones who already set this up, you can monitor the PCI signal with:

  • nvidia-smi pci -cErrCnt to clean up any previous errors
  • nvidia-smi pci -gErrCnt to monitor new errors
7 Likes