Dear USB Driver module maintainers,
I am trying to use an external SSD drive ( Samsung 850 Pro 256GB )
with Linux in it, and booting it through an external USB drive. The
environment itself works totally fine and I got not critical issues
using it as a daily driver.
Although sometimes, the system "hangs" very rarely, but in an annoying
fashion that makes a bit sluggish the experience, which translates to
weird dmesg errors like these ones:
https://unix.stackexchange.com/questions/441668/debian-usb3-hdd-uas-i-o-errors
Initially I thought as I'm using an USB 3.0 adapter[0], that maybe the
UAS driver was buggy, but at my own surprise I found out actually that
the UAS driver is not used at all, although the adapter supports it
fine.
I am currently using it on a Dell Latitude 7480, and when I use
`lsusb` I see that the device is recognized as `JMicron JMS561U`
which, by spec, supports UAS ( see
http://www.jmicron.com/PDF/brief/jms561u.pdf ).
I am wondering if this device was already tested by anyone of you
already, and if not, if I can be a tester for a patch to enable UAS on
this adapter.
Thank you very much for the support, as an attachment (
sabrent-uas-logs.md ) you may find all the logs you may need to
further help me debugging this.
Best regards,
Julian Xhokaxhiu
Full Stack Developer, IT Practised (ISCED 4)
https://julianxhokaxhiu.com/
---
[0]
https://www.sabrent.com/product/EC-SSHD/usb-3-0-ssd-2-5-inch-sata-hard-drive-adapter-optimized-ssd/
Related: https://bugzilla.kernel.org/show_bug.cgi?id=201421
```sh
$ dmesg
[ 1.256990] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[ 1.274774] usb 2-1: New USB device found, idVendor=152d, idProduct=1561, bcdDevice= 2.04
[ 1.274780] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1.274784] usb 2-1: Product: SABRENT
[ 1.274787] usb 2-1: Manufacturer: SABRENT
[ 1.274790] usb 2-1: SerialNumber: DB9876543214E
[ 1.284264] usb 2-1: UAS is blacklisted for this device, using usb-storage instead
[ 1.284271] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 1.284482] usb-storage 2-1:1.0: Quirks match for vid 152d pid 1561: 800000
```
```sh
$ lspci | grep USB
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
```
```sh
$ lsusb
Bus 002 Device 002: ID 152d:1561 JMicron Technology Corp. / JMicron USA Technology Corp. JMS561U two ports SATA 6Gb/s bridge
```
```sh
$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
```
```sh
$ lsusb -v -d 152d:1561
Bus 002 Device 002: ID 152d:1561 JMicron Technology Corp. / JMicron USA Technology Corp. JMS561U two ports SATA 6Gb/s bridge
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
idProduct 0x1561 JMS561U two ports SATA 6Gb/s bridge
bcdDevice 2.04
iManufacturer 1 SABRENT
iProduct 2 SABRENT
iSerial 3 DB9876543214E
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0079
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 896mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 4
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 98
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Command pipe (0x01)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
MaxStreams 32
Status pipe (0x02)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-in pipe (0x03)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 7
MaxStreams 32
Data-out pipe (0x04)
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000f0e
BESL Link Power Management (LPM) Supported
BESL value 3840 us
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 32 micro seconds
Device Status: 0x000c
(Bus Powered)
U1 Enabled
U2 Enabled
```