mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-09 03:20:05 +00:00
SanDisk 3.2 Gen2 storage device(0781:55e8) doesn't work well with UAS.
Log says,
[ 6.507865][ 3] [ T159] usb 2-1.4: new SuperSpeed Gen 1 USB device number 4 using xhci_hcd
[ 6.540314][ 3] [ T159] usb 2-1.4: New USB device found, idVendor=0781, idProduct=55e8, bcdDevice= 0.01
[ 6.576304][ 3] [ T159] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6.584727][ 3] [ T159] usb 2-1.4: Product: SanDisk 3.2 Gen2
[ 6.590459][ 3] [ T159] usb 2-1.4: Manufacturer: SanDisk
[ 6.595845][ 3] [ T159] usb 2-1.4: SerialNumber: 03021707022525140940
[ 7.230852][ 0] [ T265] usbcore: registered new interface driver usb-storage
[ 7.251247][ 0] [ T265] scsi host3: uas
[ 7.255280][ 0] [ T265] usbcore: registered new interface driver uas
[ 7.270498][ 1] [ T192] scsi 3:0:0:0: Direct-Access SanDisk Extreme Pro DDE1 0110 PQ: 0 ANSI: 6
[ 7.299588][ 3] [ T192] scsi 3:0:0:1: Enclosure SanDisk SES Device 0110 PQ: 0 ANSI: 6
[ 7.321681][ 3] [ T192] sd 3:0:0:0: Attached scsi generic sg1 type 0
[ 7.328185][ 3] [ T192] scsi 3:0:0:1: Attached scsi generic sg2 type 13
[ 7.328804][ 0] [ T191] sd 3:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 7.343486][ 0] [ T191] sd 3:0:0:0: [sda] 4096-byte physical blocks
[ 7.364611][ 0] [ T191] sd 3:0:0:0: [sda] Write Protect is off
[ 7.370524][ 0] [ T191] sd 3:0:0:0: [sda] Mode Sense: 3d 00 10 00
[ 7.390655][ 0] [ T191] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 7.401363][ 0] [ T191] sd 3:0:0:0: [sda] Optimal transfer size 1048576 bytes
[ 7.436010][ 0] [ T191] sda: sda1
[ 7.450850][ 0] [ T191] sd 3:0:0:0: [sda] Attached SCSI disk
[ 7.470218][ 4] [ T262] scsi 3:0:0:1: Failed to get diagnostic page 0x1
[ 7.474869][ 0] [ C0] sd 3:0:0:0: [sda] tag#0 data cmplt err -75 uas-tag 2 inflight: CMD
[ 7.476911][ 4] [ T262] scsi 3:0:0:1: Failed to bind enclosure -19
[ 7.485330][ 0] [ C0] sd 3:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 28 00 00 10 00
[ 7.491593][ 4] [ T262] ses 3:0:0:1: Attached Enclosure device
[ 38.066980][ 4] [ T192] sd 3:0:0:0: [sda] tag#4 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD IN
[ 38.076012][ 4] [ T192] sd 3:0:0:0: [sda] tag#4 CDB: Read(10) 28 00 00 00 01 08 00 00 f8 00
[ 38.086485][ 4] [ T192] sd 3:0:0:0: [sda] tag#3 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN
[ 38.095515][ 4] [ T192] sd 3:0:0:0: [sda] tag#3 CDB: Read(10) 28 00 00 00 00 10 00 00 08 00
[ 38.104122][ 4] [ T192] sd 3:0:0:0: [sda] tag#2 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD IN
[ 38.113152][ 4] [ T192] sd 3:0:0:0: [sda] tag#2 CDB: Read(10) 28 00 00 00 00 88 00 00 78 00
[ 38.121761][ 4] [ T192] sd 3:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 3 inflight: CMD IN
[ 38.130791][ 4] [ T192] sd 3:0:0:0: [sda] tag#1 CDB: Read(10) 28 00 00 00 00 48 00 00 30 00
[ 38.139401][ 4] [ T192] sd 3:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD
[ 38.148170][ 4] [ T192] sd 3:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 28 00 00 10 00
[ 38.178980][ 2] [ T304] scsi host3: uas_eh_device_reset_handler start
[ 38.901540][ 2] [ T304] usb 2-1.4: reset SuperSpeed Gen 1 USB device number 4 using xhci_hcd
[ 38.936791][ 2] [ T304] scsi host3: uas_eh_device_reset_handler success
Device decriptor is below,
Bus 002 Device 006: ID 0781:55e8 SanDisk Corp. SanDisk 3.2 Gen2
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.20
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x0781 SanDisk Corp.
idProduct 0x55e8
bcdDevice 0.01
iManufacturer 1 SanDisk
iProduct 2 SanDisk 3.2 Gen2
iSerial 3 03021707022525140940
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 0x82 EP 2 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 0x01 EP 1 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 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Status pipe (0x02)
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 15
MaxStreams 32
Data-in pipe (0x03)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-out pipe (0x04)
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x002a
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x0000f41e
BESL Link Power Management (LPM) Supported
BESL value 1024 us
Deep BESL value 61440 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 2047 micro seconds
SuperSpeedPlus USB Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x00000001
Sublink Speed Attribute count 1
Sublink Speed ID count 0
wFunctionalitySupport 0x1100
bmSublinkSpeedAttr[0] 0x000a4030
Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
bmSublinkSpeedAttr[1] 0x000a40b0
Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
Device Status: 0x0000
(Bus Powered)
So ignore UAS driver for this device.
Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20250519023328.1498856-1-xiehongyu1@kylinos.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
202 lines
5.7 KiB
C
202 lines
5.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Driver for USB Attached SCSI devices - Unusual Devices File
|
|
*
|
|
* (c) 2013 Hans de Goede <hdegoede@redhat.com>
|
|
*
|
|
* Based on the same file for the usb-storage driver, which is:
|
|
* (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
|
|
* (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
|
|
*/
|
|
|
|
/*
|
|
* IMPORTANT NOTE: This file must be included in another file which defines
|
|
* a UNUSUAL_DEV macro before this file is included.
|
|
*/
|
|
|
|
/*
|
|
* If you edit this file, please try to keep it sorted first by VendorID,
|
|
* then by ProductID.
|
|
*
|
|
* If you want to add an entry for this file, be sure to include the
|
|
* following information:
|
|
* - a patch that adds the entry for your device, including your
|
|
* email address right above the entry (plus maybe a brief
|
|
* explanation of the reason for the entry),
|
|
* - lsusb -v output for the device
|
|
* Send your submission to Hans de Goede <hdegoede@redhat.com>
|
|
* and don't forget to CC: the USB development list <linux-usb@vger.kernel.org>
|
|
*/
|
|
|
|
/* Reported-by: Till Dörges <doerges@pre-sense.de> */
|
|
UNUSUAL_DEV(0x054c, 0x087d, 0x0000, 0x9999,
|
|
"Sony",
|
|
"PSZ-HA*",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES),
|
|
|
|
/*
|
|
* Initially Reported-by: Julian Groß <julian.g@posteo.de>
|
|
* Further reports David C. Partridge <david.partridge@perdrix.co.uk>
|
|
*/
|
|
UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999,
|
|
"LaCie",
|
|
"2Big Quadra USB3",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
|
|
|
|
/* Reported-by: Julian Sikorski <belegdol@gmail.com> */
|
|
UNUSUAL_DEV(0x059f, 0x1061, 0x0000, 0x9999,
|
|
"LaCie",
|
|
"Rugged USB3-FW",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
|
|
|
|
/* Reported-by: Zhihong Zhou <zhouzhihong@greatwall.com.cn> */
|
|
UNUSUAL_DEV(0x0781, 0x55e8, 0x0000, 0x9999,
|
|
"SanDisk",
|
|
"",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
|
|
UNUSUAL_DEV(0x090c, 0x2000, 0x0000, 0x9999,
|
|
"Hiksemi",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/*
|
|
* Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
|
|
* commands in UAS mode. Observed with the 1.28 firmware; are there others?
|
|
*/
|
|
UNUSUAL_DEV(0x0984, 0x0301, 0x0128, 0x0128,
|
|
"Apricorn",
|
|
"",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: Tom Hu <huxiaoying@kylinos.cn> */
|
|
UNUSUAL_DEV(0x0b05, 0x1932, 0x0000, 0x9999,
|
|
"ASUS",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: David Webb <djw@noc.ac.uk> */
|
|
UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
|
|
"Seagate",
|
|
"Expansion Desk",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_LUNS),
|
|
|
|
/* Reported-by: Oliver Neukum <oneukum@suse.com> */
|
|
UNUSUAL_DEV(0x125f, 0xa94a, 0x0160, 0x0160,
|
|
"ADATA",
|
|
"Portable HDD CH94",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_ATA_1X),
|
|
|
|
/* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
|
|
UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
|
|
"Initio Corporation",
|
|
"INIC-3069",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_ATA_1X | US_FL_IGNORE_RESIDUE),
|
|
|
|
/* Reported-by: Tom Arild Naess <tanaess@gmail.com> */
|
|
UNUSUAL_DEV(0x152d, 0x0539, 0x0000, 0x9999,
|
|
"JMicron",
|
|
"JMS539",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES),
|
|
|
|
/* Reported-by: Claudio Bizzarri <claudio.bizzarri@gmail.com> */
|
|
UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999,
|
|
"JMicron",
|
|
"JMS567",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_BROKEN_FUA | US_FL_NO_REPORT_OPCODES),
|
|
|
|
/* Reported-by: David Kozub <zub@linux.fjfi.cvut.cz> */
|
|
UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x9999,
|
|
"JMicron",
|
|
"JMS567",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_BROKEN_FUA),
|
|
|
|
/* Reported by: Yaroslav Furman <yaro330@gmail.com> */
|
|
UNUSUAL_DEV(0x152d, 0x0583, 0x0000, 0x9999,
|
|
"JMicron",
|
|
"JMS583Gen 2",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES),
|
|
|
|
/* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
|
|
UNUSUAL_DEV(0x154b, 0xf00b, 0x0000, 0x9999,
|
|
"PNY",
|
|
"Pro Elite SSD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_ATA_1X),
|
|
|
|
/* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
|
|
UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x9999,
|
|
"PNY",
|
|
"Pro Elite SSD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_ATA_1X),
|
|
|
|
/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
|
|
UNUSUAL_DEV(0x17ef, 0x3899, 0x0000, 0x9999,
|
|
"Thinkplus",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: Hans de Goede <hdegoede@redhat.com> */
|
|
UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
|
|
"VIA",
|
|
"VL711",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_ATA_1X),
|
|
|
|
/* Reported-by: Icenowy Zheng <icenowy@aosc.io> */
|
|
UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
|
|
"Norelsys",
|
|
"NS1068X",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/*
|
|
* Initially Reported-by: Takeo Nakayama <javhera@gmx.com>
|
|
* UAS Ignore Reported by Steven Ellis <sellis@redhat.com>
|
|
*/
|
|
UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
|
|
"JMicron",
|
|
"JMS566",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: Hans de Goede <hdegoede@redhat.com> */
|
|
UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
|
|
"Hitachi",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_IGNORE_UAS),
|
|
|
|
/* Reported-by: Richard Henderson <rth@redhat.com> */
|
|
UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999,
|
|
"SimpleTech",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_NO_REPORT_OPCODES),
|
|
|
|
/* "G-DRIVE" external HDD hangs on write without these.
|
|
* Patch submitted by Alexander Kappner <agk@godking.net>
|
|
*/
|
|
UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999,
|
|
"SimpleTech",
|
|
"External HDD",
|
|
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
|
US_FL_ALWAYS_SYNC),
|