I did some short tests with the latest commits and there is the
following problem:
Adding a USB3 device or port will result in such an error msg:
--------
Parameter verification failed. (400)
usb1: invalid format - duplicate key in comma-separated list property: usb3
--------
The parameter send in the API request is:
--------
usb1: host=090c:1000,usb3=1,usb3=1
--------
Without looking into the code it looks to me that when selecting a USB3
capable device to pass through, the checkbox is checked but the `usb3=1`
parameter is handled by the dropdown components / callback functions.
Now with the latest changes the checkbox is not disabled anymore in this
situation and thus it's value added to the API request.
When I uncheck the USB3 checkbox after selecting a device / port I can
save the changes and `usb3=1` is set.
Regards,
Aaron
On 9/23/19 8:44 AM, Thomas Lamprecht wrote:
On 9/23/19 7:51 AM, Thomas Lamprecht wrote:
On 9/11/19 2:43 PM, Aaron Lauterer wrote:
This patch series enables USB3 for the passthrough / redirection of USB
devices via the Spice client.
v3 -> v4:
* cleanup of redundant if condition
* avoiding cyclic module dependency from USB.pm to QemuServer.pm
* fixing regex check for migration to match if spice is at beginning
alone or with a following comma. Thanks Thomas for pointing out how to
make it future proof
applied, thanks!
I added also cfg2cmd test for this, as we have a "fake QEMU version"
mechanism there I added one with 4.1 as version to see the command effects
and ensuring it keeps stable.
had to do some late-followups:
The usb3 format description was now wrong, so:
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 33bf966..ad6902f 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1319,7 +1319,7 @@ EODESCR
usb3 => {
optional => 1,
type => 'boolean',
- description => "Specifies whether if given host option is a USB3 device or
port (this does currently not work reliably with spice redirection and is then
ignored).",
+ description => "Specifies whether if given host option is a USB3 device or
port.",
default => 0,
},
};
Further, the "USB 3" disabling in the web interface made no sense anymore,
I removed it and refactored the whole component slightly (check out the
followup commits for details)
v2 -> v3:
* don't modify current behavior
* fix local resource check
* fix and cleanup GUI code
v1 -> v2:
* no qemu version checks
* fix local resource check on migration
* add GUI support
Aaron Lauterer (4):
qemu-server:
usb: Cleanup redundant if condition
usb: Add USB3 capabilities to Spice USB devices
usb: Fix local resource check of Spice USB devices
PVE/QemuServer.pm | 7 +++++--
PVE/QemuServer/USB.pm | 11 +++++++----
2 files changed, 12 insertions(+), 6 deletions(-)
pve-manager:
usb: Enable USB3 for Spice USB passthrough
www/manager6/qemu/USBEdit.js | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel