I cannot reliably pass thru my USB controller to Windows 10 VM


Recommended Posts

I have an asmedia USB controller that used to work fine, but now, it just won't work at all.

 

It worked fine for at least a year.  Then, about a year ago, I noticed I could no longer reliably control my windows vm with my keyboard/mouse.  I messed about trying to resolve, but just ended up rebooting the VM until it would work again.

 

Later (recently) I discovered there's a yellow triangle under universal serial bus controllers in device manager in the windows vm.  it's next to the asmedia eXtensible 3.0 driver.  I deleted this, then scanned for new hardware, and it populated a generic usb controller, and immediately installed the driver for the keyboard/mouse, and would also recognize any hard drive plugged in.  The obvious issue with this, is that I can't do any of this fixing without a keyboard or mouse installed, so I have to remote desktop into the machine to 'fix' it.  This isn't ideal, for various reasons.

 

So, today, i decided I'm going to figure this out!

 

I installed what appeared to be the most current driver for asmedia usb, and now it just doesn't work at all.  There is no fixing now, and I have no keyboard or mouse in the VM.

 

i suspect it should not be this hard, and that I'm doing something wrong.  I'm out of ideas.

 

can anyone PLEASE, PLEASE help me figure this out?

asmedia iommu grouping.jpg

vm setup.jpg

media-diagnostics-20201129-1808.zip

Link to comment

I have been digging some more.  I discovered a few things.

 

I had pinned the controller with syslinux.cfg prior to the plugin being merged into unraid, so when I tried to remove it in the system devices, it wouldn't remove.  I removed it from both VM configs, but it wasn't until I manually removed it that I could actually see the usb devices connected to it.

 

unraid showed the logitech dongle and a hard drive I had plugged into this controller.  I unplugged the hard drive and unraid stopped showing it.  I rebooted unraid.  I updated system devices to bind the controller again and rebooted.  i started the vm, and it did not recognize the logitech, nor the hard drive when i plugged it in.  I shut down the vm.  I went to system devices and unbound the controller again, and rebooted.

 

I edited the vm and checked the logitech dongle and hard drive, which where presented to me as usb devices, and there were no "other pci devices" listed.  I booted the vm, and it shows the hard drive and the usb device in device manager, and everything works.

 

So, the ports and devices work fine in windows, but I just cannot bind the whole controller for some reason.

 

I could live with this, but the ability to unplug and plug hard drives on the fly, and have windows recognize that was a much better solution, and I'd much rather have that work properly.

 

Thanks again for all help!

asmedia iommu grouping updated.jpg

Edited by JustinChase
Link to comment
31 minutes ago, SimonF said:

@JustinChase Have you ticked the box to bind to vfio and rebooted?

 

asmedia iommu grouping updated.jpg

yes. thats how it was set when it used to work.  I included that screenshot in the first post.  That does pass the whole controller, but once in windows, it 'break' and stops working until/unless I delete the USB device in windows.  That's the actual problem I'm trying to resolve.  I'm able to pass the entire controller fine, but it doesn't work in Windows.

Link to comment
1 minute ago, JustinChase said:

yes. thats how it was set when it used to work.  I included that screenshot in the first post.  That does pass the whole controller, but once in windows, it 'break' and stops working until/unless I delete the USB device in windows.  That's the actual problem I'm trying to resolve.  I'm able to pass the entire controller fine, but it doesn't work in Windows.

I think it was because you had the syslinux option which you have now removed. You need to tick the box and reboot. 

 

The tick should be showing and the green ball when bound to the vfio.

Link to comment
3 minutes ago, SimonF said:

I think it was because you had the syslinux option which you have now removed. You need to tick the box and reboot. 

 

The tick should be showing and the green ball when bound to the vfio.

Thanks, but I did that already.

 

I am able to pass the entire controller to windows just fine.  That is not an issue, and I don't believe I need any help doing that.

 

What I am having trouble with is Windows not handling this controller properly, working for a short time, then failing until I delete the USB controller in windows.  This worked fine until the windows VM is rebooted, then I need to perform this process again, which is much more difficult to do without a working mouse or keyboard in windows (because the controller isn't working after a few minutes.)

Link to comment
1 hour ago, SimonF said:

Ah Sorry i thought you were still having issues passing through the controller.

 

Have you tried just passing through  just 3 cores to the windows VM?

 

But apart from reloading driver, I dont know what else to suggest for Windows, maybe others can provide some feedback?

Thanks again.  I originally had passed only 2 cores to windows, but it seems unraid doesn't quite honor that (maybe I'm mistaken), so i just unpinned everything.

 

I feel like this might be an issue with the virtio-win-0.1.189-1 version I'm using, but I also don't know enough to know if that's valid, or what to do about it, other than try installing other versions and testing, but that seems quite a bit of work for a slightly maybe solution.

 

Hopefully people that actually understand how this all works have some ideas on what I can try next.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.