SpaceinvaderOne / Dump_GPU_vBIOS

Script to dump the vbios from any GPU even if primary gpu on an Unraid Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to dump

Unshackle8078 opened this issue · comments

Script location: /tmp/user.scripts/tmpScripts/Dump_GPU_vBIOS/script
Note that closing this window will abort the execution of this script
You have selected this device to dump the vbios from
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa XT [Radeon PRO WX 2100]

This does look like a valid GPU to me. Continuing .........


Checking if location to put vbios file exists
Vbios folder created at

mkdir: created directory '/mnt/user/isos/vbios/'
I will try and dump the vbios without disconnecting and reconnecting the GPU
This normally only works if the GPU is NOT the Primary or the only GPU
I will check the vbios at the end. If it seems wrong I will then retry after disconnecting the GPU

Defining temp vm with gpu attached
Domain dumpvbios defined from /tmp/dumpvbios.xml

Starting the temp vm to allow dump
Domain dumpvbios started

Waiting for a few seconds .....

Stopping the temp vm
Domain dumpvbios destroyed

Removing the temp vm
Domain dumpvbios has been undefined



Okay dumping vbios file named WX-2100.rom to the location /mnt/user/isos/vbios/
cat: rom: Input/output error

Um.... somethings gone wrong and I couldn't dump the vbios for some reason
Sometimes when this happens all we need to do to fix this is 'stub' or 'bind to the vfio' the gpu and reboot the server

This can be done in Unraid 6.8.3 with the use of the vfio config plugin or if you are on Unraid 6.9 or above it can be done
directly from the gui in Tools/System Devices .....So please do this and run the script again

In this case, this GPU is not the primary but is in slot 1. The system has an AMD APU and another undetected GPU in slot 2.

I actually already have the appropriate PCIe devices bound to vfio as well so I'm not sure why the output suggests otherwise.

Loading config from /boot/config/vfio-pci.cfg
BIND=0000:01:00.0|1002:6995 0000:01:00.1|1002:aae0 0000:05:00.0|8086:2723
---
Processing 0000:01:00.0 1002:6995
Vendor:Device 1002:6995 found at 0000:01:00.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:01:00.0/iommu_group/devices/0000:01:00.0
/sys/bus/pci/devices/0000:01:00.0/iommu_group/devices/0000:01:00.1

Binding...
Successfully bound the device 1002:6995 at 0000:01:00.0 to vfio-pci
---
Processing 0000:01:00.1 1002:aae0
Vendor:Device 1002:aae0 found at 0000:01:00.1

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:01:00.1/iommu_group/devices/0000:01:00.0
/sys/bus/pci/devices/0000:01:00.1/iommu_group/devices/0000:01:00.1

Binding...
0000:01:00.0 already bound to vfio-pci
0000:01:00.1 already bound to vfio-pci
Successfully bound the device 1002:aae0 at 0000:01:00.1 to vfio-pci
---
Processing 0000:05:00.0 8086:2723
Vendor:Device 8086:2723 found at 0000:05:00.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:05:00.0/iommu_group/devices/0000:05:00.0

Binding...
Successfully bound the device 8086:2723 at 0000:05:00.0 to vfio-pci
---
vfio-pci binding complete

Devices listed in /sys/bus/pci/drivers/vfio-pci:
lrwxrwxrwx 1 root root 0 Mar 10 19:19 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:01.1/0000:01:00.0
lrwxrwxrwx 1 root root 0 Mar 10 19:19 0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:01.1/0000:01:00.1
lrwxrwxrwx 1 root root 0 Mar 10 19:19 0000:05:00.0 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:03.0/0000:05:00.0

ls -l /dev/vfio/
total 0
crw------- 1 root root 249, 1 Mar 10 19:19 17
crw------- 1 root root 249, 0 Mar 10 19:19 8
crw-rw-rw- 1 root root 10, 196 Mar 10 19:19 vfio

There's a variable on line 49 called forecereset. Try changing it from no to yes and see if that helps.

I was having the same issue and this fixed it for me.

I tried that and it gets this far but never continues. File is created but it's zero bytes.

This does look like a valid GPU to me. Continuing .........


Checking if location to put vbios file exists
Vbios folder already exists

Disconnecting the graphics card
tee: '/sys/bus/pci/devices/0000\:0b\:00.0/remove': No such file or directory
1
Entered suspended (sleep) state ......

PRESS POWER BUTTON ON SERVER TO CONTINUE

I tried that and it gets this far but never continues. File is created but it's zero bytes.

PRESS POWER BUTTON ON SERVER TO CONTINUE

Did you press the power button?