How can I force Linux to recognize a USB 3.x device as 5gbps?
1
vote
1
answer
77
views
I have a USB 3 NVMe enclosure attached to an Intel Celeron N5100 mini-PC. As shown by the output of
lsusb -t
, Linux recognizes the enclosure as a 10Gbps device.
$lsusb -t | grep uas
|__ Port 001: Dev 005, If 0, Class=Mass Storage, Driver=uas, 10000M
Transfer rates are an impressive 800MB/s per second at the start. However the transfer soon stalls. Various I/O errors appear in dmesg, which I can't reproduce right now as the errors lead to a system freeze.
I suspect the problem has something to do with the XHCI module recognizing the device as a 10gbps USB 3.2 class device rather than as a baseline 5gbps USB 3.1 device. The USB 3 enclosure worked without any problems on my old 2014 Intel Core i3 laptop (which sadly was stolen recently).
Is there any way to force Linux to assign the slower 5gpbs speed to the USB enclosure?
As a side note, the I/O errors don't appear when I connect the enclosure using a USB 2 cable, which forces Linux to recognize the device as USB 2. This, however, limits the transfer rate to an abysmal 40MB/s.
Asked by Aubergone
(25 rep)
Mar 12, 2025, 01:52 AM
Last activity: Mar 12, 2025, 08:38 PM
Last activity: Mar 12, 2025, 08:38 PM