USB passthrough test reports in 7.5RC1



  • @aimdev said in USB passthrough test reports in 7.5RC1:

    @aimdev

    Update

    I removed all the rules except the allow all in /etc/xensource/usb-policy.conf
    The U-blox device was present when running /opt/xensource/libexec/usb_scan.py -d 🙂
    The device is present when running xe pusb-list 🙂
    The device is present using xcp-ng centre 🙂
    The configuration file clearly has an issue for me to resolve. 😞
    Followed instructions from @fjen , thanks for your efforts.
    got this on vm startup
    The value given is invalid
    field: platform:device-model when vm has VUSBs
    value: qemu-trad

    issued command
    xe vm-param-set uuid=<uuid> platform:device-model=qemu-upstream-compat
    Started vm
    cat /dev/ttyACM0 present and seeing gps messages. 🙂

    It appears the only way to get this to work is via the cli.

    Doing a reboot test next, fingers crossed, yes ok 🙂

    Thanks

    Aimee

    Hi

    Didn't survive the 7.5 RC1 to 7.5 upgrade, had to re configure it.
    All working ok.

    Aimee



  • Yes that's normal config file are changed 🙂



  • I met the same issue after upgrading my host to 7.5. The information at here is helpful. Thanks.

    BTW I guess xcp-ng doesn't support vUSB hotplug. Is there anyone know if there is any plan to support hot plug/unplug? Maybe depend on Citrix's plan on XenServer? Is there any workaround to support that with qemu?



  • @olivierlambert said in USB passthrough test reports in 7.5RC1:

    @fjen

    So I tried USB passthrough with a simple USB stick, and it worked perfectly. The stick is passed to my Windows VM without any issue, from both XCP-ng 7.5 RC1 and XenServer 7.5

    You can see the "Vates (E:)" USB key dislayed here:

    0_1533241328309_usbpass.png

    VM is a Windows 2012 R2 64 Bits. Followed the xe CLI instruction with success.

    Just an odd question. . .

    Is that USB device available to just this one VM or to every VM?



  • Not an odd question 🙂 You assign the USB device to one VM only. IDK if it's possible to assign it to multiple VMs, but it sounds unlikely!



  • @olivierlambert the reason I ask is I recall considering this option back on XS6.5 and simply opt'd to not use USB devices any longer.

    It was just more of a headache using USB than it was using network attached storage.

    Now for USB license fobs etc it could be an issue, but I would get a USB to network adapter in that scenario.



  • Back in 6.5, it was probably passing through the whole USB controller, which is different with USB passthrough on 7.5 (just release since this version), where you can pass one specific device without taking the whole USB controller 🙂



  • First off, thanks to @Aimdev and @fjen for providing a good write up of the steps taken to get USB passthrough to work.

    I followed them all pretty much with out any difficulty and with no errors on anything for a Broadcom Bluetooth USB card (Broadcom Corp._BCM2045B) that's built into my laptop I'd like to pass through to a Linux VM.

    And I get all the way up to where the USB device is correctly presented in the XCP-ng Centre application, but the device doesn't [seem to] appear at the OS level in dmesg | grep usbcore or lusb outputs in my guest OS VM.

    However, since I didn't any failure to start the vm or other errors, I had not executed the final command: xe vm-param-set uuid=<VM UUID> platform:device-model=qemu-upstream-compat

    But since the Broadcom chip still didn't appear in the guest Linux VM, I shutdown the VM and then executed the above command with the VM UUID.

    But after a restart, the VM still doesn't see the Broadcom USB device.

    Any idea what could be up or suggestions where I need to dig?



  • @fjen I also got the same error...

    INTERNAL_ERROR(xenopsd internal error: Call to usb reset failed: Forkhelpers.Spawn_internal_error("usage: usb_reset.py attach [-h] -d DOMID -p PID [-r RESET_ONLY] device\nusb_reset.py attach: error: argument -r: expected one argument\n", "", _))



  • @xiaolou86 Did you find a resolution for this issue?