Anyone had luck passing through a usb device to a vm? My xcp-ng host sees the usb, but after configuring passthrough to a vm, the vm doesn’t see it. I’m specifically trying to pass through an aeotec zstick for homeassistant. After changing the DENY class=02 to ALLOW and rebooting the host, it’s now seen when running a pusb-list. It seems like the host is passing it through, but the vm isn’t seeing it. I’m thinking of trying ser2net but would like to avoid that aggravation if possible. Any suggestions would be appreciated.
When you run dmesg
on the host, does it show the device?
I have made this work, but it was something of a struggle. Below are some notes that I made for my project to pass a USB plotter connection to a VM. Note that your GUIDs will not match what I got (shown below). You do have to get a command line session on the xcp-ng host to execute the xe commands.
How to configure USB Passthrough with XenServer using xe CLI
============================================================
https://support.citrix.com/article/CTX235042
1. Plug the USB devices to the XenServer host
2. Enable passthrough
xe pusb-list
uuid ( RO) : 83088b6f-0aae-88b2-8829-0945c437e346
path ( RO): 5-1
vendor-id ( RO): 0fe6
vendor-desc ( RO): ICS Advent
product-id ( RO): 811e
product-desc ( RO): Parallel Adapter
serial ( RO):
version ( RO): 1.10
description ( RO): ICS Advent_Parallel Adapter
xe pusb-param-set uuid=83088b6f-0aae-88b2-8829-0945c437e346 passthrough-enabled=true
3. Shut down the target guest VM that you want to pass the USB device through since hot plug is not supported.
4. Attach the USB device to the VM, run the following command:
xe usb-group-list PUSB-uuids=83088b6f-0aae-88b2-8829-0945c437e346
uuid ( RO) : 38b38107-d2a2-db30-decd-a2aa76c4a445
name-label ( RW): Group of 0fe6 811e USBs
name-description ( RW):
xe vusb-create usb-group-uuid=38b38107-d2a2-db30-decd-a2aa76c4a445 vm-uuid=0490a094-7a64-5e90-b0e0-bf5d7ec5d3c3
ebd0f361-3c93-e989-24cb-f3f26a6baa7b
5. Start the target guest VM.
xe vm-start uuid=0490a094-7a64-5e90-b0e0-bf5d7ec5d3c3
To detatch:
xe vusb-unplug uuid=<vusb_uuid> (Unplugs USB from VM)
xe vusb-destroy uuid=<vusb_uuid> (Removes the VUSB list from VM)
Thanks greeners for the steps…I’ve done those. The host sees the device, but guest does not. Dmesg does not show the device on the guest.
For anyone wondering, I was able to fix my issue by installing a usb pci card and passing it through. After blacklisting it from dom0 and rebooting, I’m now working perfectly.
Thanks, I might need to do this to get a USB audio device working for some quicker testing. Need to roll out a new DAW and having the ability to mess it up and go back with a simple snapshot will speed up development time. Going to try first through the onboard USB since this is several updates of XCP-NG different from when you posted this.