Bug 2157521

Summary: Can't redirect identical USB devices with usbredirect (RHEL 8)
Product: Red Hat Enterprise Linux 8 Reporter: Victor Toso <victortoso>
Component: usbredirAssignee: Victor Toso <victortoso>
Status: CLOSED ERRATA QA Contact: Radek Duda <rduda>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.7CC: jcall, rduda, tpelka
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: usbredir-0.12.0-3.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2159465 (view as bug list) Environment:
Last Closed: 2023-05-16 08:41:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2159465    

Description Victor Toso 2023-01-02 05:10:27 UTC
Description of problem:

Trying to redirect two similar devices would lead the second usbredirect to crash.

How reproducible: 100%

lsusb (redacted)
Bus 002 Device 006: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Bus 002 Device 005: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50

1) By using vendor:product

usbredirect --to localhost:5550 --device 0951:1666 # first
usbredirect --to localhost:5550 --device 0951:1666 # second fails

2) By using bus-device

usbredirect --to localhost:5550 --device 02-06 # first
usbredirect --to localhost:5550 --device 02-05 # second fails

Actual results:

second usbredirect crashes

Expected results:

usbredirect not to crash and USB device to show in the guest

Additional info:

Upstream bug report: https://gitlab.freedesktop.org/spice/usbredir/-/issues/29

Comment 1 Victor Toso 2023-01-02 05:19:37 UTC
Posted a working fix: https://gitlab.freedesktop.org/spice/usbredir/-/merge_requests/67

Comment 2 Victor Toso 2023-01-02 07:14:05 UTC
> usbredirect --to localhost:5550 --device 0951:1666 # second fails

> usbredirect --to localhost:5550 --device 02-05 # second fails

Bad copy-paste here. The second usbredirect uses a different port. Using the same port would always fail.

Comment 4 Radek Duda 2023-01-16 15:28:48 UTC
Reproduced and verified with usbredir-0.12.0-3.el8
Redirection of two identical devices by using vendor:product and bus-device works now.

Comment 12 errata-xmlrpc 2023-05-16 08:41:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (usbredir bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2884