[pve-devel] applied-series: [PATCH v4 0/4] Fix #2343 Spice USB3 support
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Sep 23 17:11:53 CEST 2019
On 9/23/19 4:23 PM, Aaron Lauterer wrote:
> 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.
Thanks for testing this. Fixed by removing the use of getUSBValue() here as
we know also allow to pass a USB3 device through as USB2, so the speed
detection in the method may not be correct anymore.
While previously this was handled by the "if (!/usb3/.test(val) ..."
check, Dominik thinks that it's only there because when he implemented this,
USB3 devices were required to be passed-through as USB3.
I re-tested passing a USB3 through as USB2 and it worked here, so I think
we really can remove this constrain.
>
> 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 at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
More information about the pve-devel
mailing list