Re: [PATCH] usbip: tools: support SuperSpeed Plus devices

From: Greg KH

Date: Thu Jun 25 2026 - 11:11:41 EST


On Mon, Jun 22, 2026 at 06:08:02PM +0800, raoxu wrote:
> From: Xu Rao <raoxu@xxxxxxxxxxxxx>
>
> USB/IP reads a remote device's speed from the server-side sysfs
> "speed" attribute. read_attr_speed() converts the string to
> enum usb_device_speed before the value is sent to the client.
>
> The conversion table only recognizes 5000 Mbps. Devices reporting
> 10000 or 20000 Mbps are therefore sent as USB_SPEED_UNKNOWN. The
> client then selects a USB 2.0 VHCI port, and the kernel rejects the
> attach request because USB_SPEED_UNKNOWN is not a supported speed.
>
> Map both SuperSpeed Plus sysfs values to USB_SPEED_SUPER_PLUS and
> select the SuperSpeed VHCI hub for that speed.
>
> The issue was reproduced with the following server hardware:
>
> xHCI controller: Intel 8086:a0ed, revision 20
> Subsystem: Lenovo 17aa:382a
> USB device: Silicon Motion 090c:2320 mass storage
> sysfs speed: 10000 Mbps
>
> Before the change:
>
> $ usbip attach -r 10.20.12.170 -b 2-2
> usbip: error: import device
>
> After the change, the device attaches and uses usb-storage:
>
> $ usbip port
> Port 08: <Port in Use> at Super Speed(5000Mbps)
> 8-1 -> usbip://10.20.12.170:3240/2-2
>
> VHCI currently exposes the imported device as SuperSpeed, so the
> client reports 5000 Mbps instead of 10000 Mbps. This is a separate
> speed-reporting limitation and does not prevent attachment or I/O.
>
> Signed-off-by: Xu Rao <raoxu@xxxxxxxxxxxxx>
> ---
> tools/usb/usbip/libsrc/usbip_common.c | 2 ++
> tools/usb/usbip/libsrc/vhci_driver.c | 1 +
> 2 files changed, 3 insertions(+)

Isn't this covered by this change:
https://lore.kernel.org/r/00C828F338E43447+20260617020613.199086-1-chenyichong@xxxxxxxxxxxxx

?

thanks,

greg k-h