Attaching USB storage via XOA
-
I have 2x external USB3 drives I'd prefer passed thru to a specific VM.
With XCP-ng Center it's quite simple once one is aware of the navigational routes. That being
- "General > Properties > USB > Attach" once the device has been passed thru, and
- "Storage > Attach Disk" if not.
However, it seems undoable via XOA...
i.e. How would one go about to accomplish the following in XOA:
- enable passthru for USB device
- assign USB device to VM
or
attach USB storage to VM (without enabling passthru)
In addition, I also found that the USB devices list and can be attached in XCP-ng Center, yet would not list in XOA ("VM > Disks").
If they are passed thru and attached to a VM (via XCP-ng center), they then do not reflect within the VM...
-
It's because there's not such demands on that so far. But contributions are very welcome
-
@olivierlambert I wouldn't know where to start
-
You can already write a spec, and even also use our "inspector" to see exactly what commands are done by XCP-ng Center, so we just have to know which one to use https://github.com/vatesfr/xapi-inspector
Actually, it's a non-negligible part of the work (and also test the branch after we do it).Before investing time doing that in the UI, we'll first implement it via
xo-cli
.About the proxy,
-
@olivierlambert
Is there somewhere to create a request for this feature? I understand it's definitely not typical but situations that require a VM/Instance to have a USB security key, external USB devices, etc are still out there and it would certainly be that niche case that would help give XCP-NG/Xen Orchestra the added edge in this capability.Thankfully this is possible through XCP-NG Center but I also don't know how long this will be a viable product in that it doesn't seem to have much support behind it and I have a particular situation that requires a VM to have a usb key for a software license key and at first had to eliminate this as a possibility to even use until I stumbled upon this.
-
Same message, if you tell us which commands are used exactly and how do you imagine it, that might help to get a faster integration
-
@olivierlambert
I have no idea what commands are actually being used, other than the steps inside XCP-Center that I do on the host and then inside the instance itself. I don't mind needing to use XCP-NG Center for this one specific task or setting, I'm just concerned that won't always be available to use as the years go on as opposed to Xen Orchestra. -
@olivierlambert
If there's a way to capture the commands being sent, I would be happy to undo the USB pass-through and then go through it again under Center? I just started XCP-NG and XOA in the past few months so I'm definitely new. -
That's exactly what I wrote originally. You need to setup https://github.com/vatesfr/xapi-inspector and connect your XCP-ng Center to it. This will intercept all calls
-
@olivierlambert I actually have this need too, but it's not for USB storage. I'm running HomeAssistant on a VM, and I'd like to passthrough my Zigbee and Zwave USB devices.
Here is the xenserver doc on the topic: https://support.citrix.com/article/CTX235042
I think it actually includes the cli commands.
Hopefully that's helpful!
-
We need the XAPI commands Again, if you want this to be done at some point, we need more spec (because it means less time to actually develop)
-
@olivierlambert unfortunately, I can't get the xe pusb-list command to return my USB devices, even though I see them with dmesg.
So, I may have bigger problems here...
-
@rlyons20 soooo... xe pusb-list only exposes STORAGE devices. I verified by plugging in a USB thumb drive, and that shows up.
So, my use case of running HomeAssistant as a VM with Zigbee/Zwave USB devices is probably dead in the water.
That's disappointing...
-
You might modify the filter to get your dongle detected
-
I wrote a script to set up USB device passthrough for a specific device by name to a specific VM by name in the same basic way the XCP-ng Centre UI does it when you follow the steps described in the original post. Here's the script: https://gist.github.com/gpoole/c89807e9de9cb5c87bbcc2da27e0c3e4
Are those the commands you're looking for @olivierlambert?
Either way hopefully useful to anyone who wants to do this without using XCP-ng Centre. I've found it needs to be done every boot, so the script is intended to be something I can quickly SSH in and run. I'm sure it could be automated properly but works for me.
-
Thanks for the commands. I just find it weird you need to do it at each boot, I don't remember having to do it here
-
@gpoole Thank you! I'm sure this will be quite useful in my homelab, but maybe not at work just yet... particularly because I am hopeful Olivier and Vates are able to integrate this into XOA.
This is because I am looking into integrating at least one HSM into our xcp-ng infrastructure, and the $650 USB-A YubiHSM2 is quite attractive. It would be great to be able to reliably pass this through via XOA to a Windows Server VM. I could imagine this use case being potentially important for small-medium sized companies looking for alternatives to typical expensive HSMs.
-
@xenoNfluX @olivierlambert
I would agree this would be great for the Z-wave/Zigbee dongles in Home Automation.
Right now I'm working on a small homelab that can pass through the intel Quicksync to a Plex server and the USB to support HA.
Having this in XOA/XOCE, even XO-lite (understandably not really a "lite" feature).
-
I am also interested in this feature.
We use XCP-NG to run the virtual hosts in our DMZ. As you can imagine, the DMZ is completely separated from our internal network and the only way to transfer a file to a virtual server is to physically connect a usb drive to a host.
We use Xen Orchestra for everything except this. When we need to mount a USB drive we have to physically connect a laptop to the DMZ network and then attach the USB drive with XCP-NG Center.
-
@cyrus104 @olivierlambert I'm also interested in USB support, and specifically USB dongle connectivity for HomeAsssistant.
@olivierlambert , you mentioned filter modification. is that at the xen level? Similar to many, i'm at the beginner level- I'm willing to tackle a problem or provide specification for further development, but i'm not sure where to start.