Can a hacked GPU riser with some arduino/ras-pi integration help with VFIO GPU reset?

Was curious to know if tapping in to the PCIE lanes, as in injecting a PCI-E electrical signal or injecting at logical level, a PCIE payload(that can re-initialize the GPU), with a help of some Single Board Computer, help ?
The SBC could have some USB port, which can be plugged in to the host PC & get commands from some script running on the host.

2 Likes

Well if there firmware is broken, pick one of the chips and reset it?

I’m curious about the PERST# signal in the PCIE bus,
From PCIE Spec

When PERST# is provided to a component or adapter, this signal must be used by the component or adapter as Fundamental Reset.

In all form factors and system hardware configurations, there must, at some level, be a hardware mechanism for setting or returning all Port states to the initial conditions specified in this document - this mechanism is called “Fundamental
Reset”. This mechanism can take the form of an auxiliary signal provided by the system to a component or adapter card, in which case the signal must be called PERST#,

Here at https://egpu.io/forums/bootcamp/mbp-egpu-detection-issues/, they appear to do some PERST# hacking.

A “simpler” way of cutting/restoring power would be to connect the gpu to a separately powered adapter (like SlimSAS PCIe gen4 Device Adapter 2* 8i to x16 – C-Payne PCB Design) which would have data flow over two slimsas cables to the motherboard, keeping the power aspect isolated compared to a normal riser which does have to provide typical slot power.

Then you can attach an entirely separate PSU to the GPU/Adapter. Then you can jump the PSU motherboard connector to turn it or, or use an “Add2PSU” unit connected to a custom 12v cable that is powered when the main system is on. Finally, you could use a usb controlled outlet to turn off the PSU power completely. I probably didn’t describe that well, I can do a diagram tomorrow if you like. A PCIe to slimsas redriver/retimer card may be needed to keep the data signal good.

I use this sort of power setup to control an old supermicro HDD chassis as a DAS. It automatically comes on or powers off with the system it’s attached to, but I can manually/script power it down (after exporting the ZFS pool running on it) by shutting down the PowerUSB outlet (https://pwrusb.com/products/powerusb-basic is what I have, but there are other options now) it’s connected to. The data path is basically HDDs->Expander->internal SAS cables->bracket adapter->external SAS cables->SAS PCIe card in main system (with external cable slots). Much nicer than running a whole other motherboard just to put it on the network when I already have a running system next to it.

2 Likes