[SOLVED] AMD GPU inaccessible after VM Poweroff: Unable to change power state from D3cold to D0,device inaccessible.

I manage to update the value to 'device_specific'.
But my GPU 5600xt is still showing 'not working properly' in win11 vm after reboot.
No error msgs at all in pve, only this:

Code:
Refused to change power state from D0 to D3hot

I am done with this GPU passthrough experiment, not worth my time.
 
Step 9 doesn't work, and I don't understand why it should work, as it uses sysfs.
Error:

# echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method
-bash: echo: write error: Invalid argument

My GPU address is 0000:04:00.0 too.
Yes indeed, I've used several ls cat nano and other stuff to view/pass in the command lol, I can't edit the old guide/my reply somehow, I remembered once I had to update it and didn't cuz I can't figure out how to edit
 
For anyone that ended up here in this post, on Kernel 6.8.12-2 both GRUB and UEFI boot modes support the edit of the file in Step 9. You cannot edit it directly with nano, but you can use:

Code:
echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method

If you want to automate this, you can use the command 'crontab -e' and add the below line that uses the other suggested command from above:

Code:
@reboot sh -c "echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method" >/dev/null 2>&1

I tried it with 3 navi cards already and it works great. Actually with UEFI installation I could even put the normal echo command in crontab -e, but with GRUB installation it was requiring the other one to overwrite the file contents on each boot.
 
For anyone that ended up here in this post, on Kernel 6.8.12-2 both GRUB and UEFI boot modes support the edit of the file in Step 9. You cannot edit it directly with nano, but you can use:

Code:
echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method

If you want to automate this, you can use the command 'crontab -e' and add the below line that uses the other suggested command from above:

Code:
@reboot sh -c "echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method" >/dev/null 2>&1

I tried it with 3 navi cards already and it works great. Actually with UEFI installation I could even put the normal echo command in crontab -e, but with GRUB installation it was requiring the other one to overwrite the file contents on each boot.
Unfortunately that does NOT work for me :( .

AMD RX 6600, vendor-reset Module installed & loaded at boot, but still "Invalid Argument" Error ...

Code:
root@pve:~# lspci -kk | grep -i vga -B5 -A10
0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)
    Subsystem: ASUSTeK Computer Inc. Navi 23 [Radeon RX 6600/6600 XT/6600M]
    Kernel driver in use: vfio-pci
    Kernel modules: amdgpu
0b:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

root@pve:~# echo 'device_specific' > /sys/bus/pci/devices/0000\:0b\:00.0/reset_method
-bash: echo: write error: Invalid argument

root@pve:~# dmesg  | grep -i reset
[   24.766826] vendor_reset: module verification failed: signature and/or required key missing - tainting kernel
[   24.813495] vendor_reset_hook: installed
[  209.355689] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'
[  552.900523] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'
[  558.520241] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'

Any Clue ?
 
I am now using amd 6700xt and pass GPU to ubuntu
and the same error message "Unable to change power state from D3cold to D0, device inaccessible" in my syslog
I saw this github project(vendor-reset) not for Navi 2x.
Unfortunately that does NOT work for me :( .

AMD RX 6600, vendor-reset Module installed & loaded at boot, but still "Invalid Argument" Error ...

Code:
root@pve:~# lspci -kk | grep -i vga -B5 -A10
0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)
    Subsystem: ASUSTeK Computer Inc. Navi 23 [Radeon RX 6600/6600 XT/6600M]
    Kernel driver in use: vfio-pci
    Kernel modules: amdgpu
0b:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller
    Kernel driver in use: vfio-pci
    Kernel modules: snd_hda_intel

root@pve:~# echo 'device_specific' > /sys/bus/pci/devices/0000\:0b\:00.0/reset_method
-bash: echo: write error: Invalid argument

root@pve:~# dmesg  | grep -i reset
[   24.766826] vendor_reset: module verification failed: signature and/or required key missing - tainting kernel
[   24.813495] vendor_reset_hook: installed
[  209.355689] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'
[  552.900523] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'
[  558.520241] vfio-pci 0000:0b:00.0: Unsupported reset method 'device_specific'

Any Clue ?
the solution is not work for me too
 
does this command actually work on your proxmox? here I got this:

# sh -c "echo 'device_specific' > /sys/bus/pci/devices/0000\:04\:00.0/reset_method"
sh: 1: echo: echo: I/O error

LOL, this GPU passthrough. Most likely I won't trust it even if it works eventually.
I have the same error, no idea why this echo command has I/O error
 
I found another solution, but in my case, I have two error so the solution may not work for you
one error is
"Unable to change power state from D3cold to D0, device inaccessible"
the other is
"kvm run bad address"

and the solution is here about ROCm and fwupd.
 
I found another solution, but in my case, I have two error so the solution may not work for you
one error is
"Unable to change power state from D3cold to D0, device inaccessible"
the other is
"kvm run bad address"

and the solution is here about ROCm and fwupd.
Yes, the post/method that you referred is disable client's fwupd service but in my case the client VM doesn't boot up at all, so that's really different issues.
 
For info, the RX 6600 **apparently** does NOT need that reset "trick".

With the currently configured Options, I see (knock on Wood) approximatively 7 Days uptime with my Frigate VM before it crashes. Once it does, I still need to perform full Host reboot though.

Better than before, but still, nowhere as reliable as a LSI HBA passed through a VM ...
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!