Strange behavior or usb controller passthrough

mcdull

Member
Aug 23, 2020
65
2
13
46
I am using latest PVE on my ryzen platform with B550 chipset. I have my usb 3.x controller and onboard audio passthrough together with the single gpu.
It is very strange that randomly my VM will not boot (or need to wait for like 5 mintutes to boot), until I remove, and re-add the same usb controller with exactly the same setting. Even if it boots, it will loss the usb controller in guest. For everytime if I remove and re-add the same usb controller in the PCI passthrough list, it will boot normal 100%.

Another co-incident that I notice is my Xbox controller wireless receiver attached to my usb 3.0 hub. I need to unplug and replug it everytime I restart the vm in order to make it function normal.

Grateful for any advise, please.
 
Even if it boots, it will loss the usb controller in guest. For everytime if I remove and re-add the same usb controller in the PCI passthrough list, it will boot normal 100%.
Are you certain the PCIe address didn't change? I.e. check 'lspci' and remember the address then see if it changes between reboots (this can happen on certain somewhat broken hardware or BIOS revisions). Other than that I can't imagine what re-adding the controller would change, since that operation doesn't even touch the hardware in any way - it literall just removes and adds a line to the config file in /etc/pve/qemu-server/<vmid>.conf.

Another co-incident that I notice is my Xbox controller wireless receiver attached to my usb 3.0 hub. I need to unplug and replug it everytime I restart the vm in order to make it function normal.
Certainly weird, but seems unrelated to passthrough - I'd rather say the firmware on the dongle is botched and doesn't know how to cope with being attached to a new host without full powerdown (i.e. unplug). Is the receiver getting initialized on the host? Maybe check for a driver you could block on PVE to avoid that?
 
Are you certain the PCIe address didn't change? I.e. check 'lspci' and remember the address then see if it changes between reboots (this can happen on certain somewhat broken hardware or BIOS revisions). Other than that I can't imagine what re-adding the controller would change, since that operation doesn't even touch the hardware in any way - it literall just removes and adds a line to the config file in /etc/pve/qemu-server/<vmid>.conf.


Certainly weird, but seems unrelated to passthrough - I'd rather say the firmware on the dongle is botched and doesn't know how to cope with being attached to a new host without full powerdown (i.e. unplug). Is the receiver getting initialized on the host? Maybe check for a driver you could block on PVE to avoid that?
If you do mean the 0a:00.3 (usb) 0a:00.4 (Audio), its always the same and never change.
There were issue in ryzen that require adding a commandline to disable flr or passthrough will crash the host.

https://www.reddit.com/r/VFIO/comments/eba5mh/workaround_patch_for_passing_through_usb_and/

And thats why it is strange to me as I also think that removing and adding devices should do nothing.
 

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!