GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / usb / storage / unusual_uas.h
1 /*
2  * Driver for USB Attached SCSI devices - Unusual Devices File
3  *
4  *   (c) 2013 Hans de Goede <hdegoede@redhat.com>
5  *
6  * Based on the same file for the usb-storage driver, which is:
7  *   (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
8  *   (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU General Public License as published by the
12  * Free Software Foundation; either version 2, or (at your option) any
13  * later version.
14  *
15  * This program is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License along
21  * with this program; if not, write to the Free Software Foundation, Inc.,
22  * 675 Mass Ave, Cambridge, MA 02139, USA.
23  */
24
25 /*
26  * IMPORTANT NOTE: This file must be included in another file which defines
27  * a UNUSUAL_DEV macro before this file is included.
28  */
29
30 /*
31  * If you edit this file, please try to keep it sorted first by VendorID,
32  * then by ProductID.
33  *
34  * If you want to add an entry for this file, be sure to include the
35  * following information:
36  *      - a patch that adds the entry for your device, including your
37  *        email address right above the entry (plus maybe a brief
38  *        explanation of the reason for the entry),
39  *      - lsusb -v output for the device
40  * Send your submission to Hans de Goede <hdegoede@redhat.com>
41  * and don't forget to CC: the USB development list <linux-usb@vger.kernel.org>
42  */
43
44 /* Reported-by: Till Dörges <doerges@pre-sense.de> */
45 UNUSUAL_DEV(0x054c, 0x087d, 0x0000, 0x9999,
46                 "Sony",
47                 "PSZ-HA*",
48                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
49                 US_FL_NO_REPORT_OPCODES),
50
51 /*
52  *  Initially Reported-by: Julian Groß <julian.g@posteo.de>
53  *  Further reports David C. Partridge <david.partridge@perdrix.co.uk>
54  */
55 UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999,
56                 "LaCie",
57                 "2Big Quadra USB3",
58                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
59                 US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
60
61 /* Reported-by: Julian Sikorski <belegdol@gmail.com> */
62 UNUSUAL_DEV(0x059f, 0x1061, 0x0000, 0x9999,
63                 "LaCie",
64                 "Rugged USB3-FW",
65                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
66                 US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
67
68 /*
69  * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
70  * commands in UAS mode.  Observed with the 1.28 firmware; are there others?
71  */
72 UNUSUAL_DEV(0x0984, 0x0301, 0x0128, 0x0128,
73                 "Apricorn",
74                 "",
75                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
76                 US_FL_IGNORE_UAS),
77
78 /* https://bugzilla.kernel.org/show_bug.cgi?id=79511 */
79 UNUSUAL_DEV(0x0bc2, 0x2312, 0x0000, 0x9999,
80                 "Seagate",
81                 "Expansion Desk",
82                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
83                 US_FL_NO_ATA_1X),
84
85 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
86 UNUSUAL_DEV(0x0bc2, 0x3312, 0x0000, 0x9999,
87                 "Seagate",
88                 "Expansion Desk",
89                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
90                 US_FL_NO_ATA_1X),
91
92 /* Reported-by: David Webb <djw@noc.ac.uk> */
93 UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
94                 "Seagate",
95                 "Expansion Desk",
96                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
97                 US_FL_NO_REPORT_LUNS),
98
99 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
100 UNUSUAL_DEV(0x0bc2, 0x3320, 0x0000, 0x9999,
101                 "Seagate",
102                 "Expansion Desk",
103                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
104                 US_FL_NO_ATA_1X),
105
106 /* Reported-by: Bogdan Mihalcea <bogdan.mihalcea@infim.ro> */
107 UNUSUAL_DEV(0x0bc2, 0xa003, 0x0000, 0x9999,
108                 "Seagate",
109                 "Backup Plus",
110                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
111                 US_FL_NO_ATA_1X),
112
113 /* Reported-by: Marcin Zajączkowski <mszpak@wp.pl> */
114 UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999,
115                 "Seagate",
116                 "Backup Plus",
117                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
118                 US_FL_NO_ATA_1X),
119
120 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
121 UNUSUAL_DEV(0x0bc2, 0xa0a4, 0x0000, 0x9999,
122                 "Seagate",
123                 "Backup Plus Desk",
124                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
125                 US_FL_NO_ATA_1X),
126
127 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
128 UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999,
129                 "Seagate",
130                 "Backup+ BK",
131                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
132                 US_FL_NO_ATA_1X),
133
134 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
135 UNUSUAL_DEV(0x0bc2, 0xab21, 0x0000, 0x9999,
136                 "Seagate",
137                 "Backup+ BK",
138                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
139                 US_FL_NO_ATA_1X),
140
141 /* Reported-by: G. Richard Bellamy <rbellamy@pteradigm.com> */
142 UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999,
143                 "Seagate",
144                 "BUP Fast HDD",
145                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
146                 US_FL_NO_ATA_1X),
147
148 /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
149 UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
150                 "Initio Corporation",
151                 "INIC-3069",
152                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
153                 US_FL_NO_ATA_1X | US_FL_IGNORE_RESIDUE),
154
155 /* Reported-by: Tom Arild Naess <tanaess@gmail.com> */
156 UNUSUAL_DEV(0x152d, 0x0539, 0x0000, 0x9999,
157                 "JMicron",
158                 "JMS539",
159                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
160                 US_FL_NO_REPORT_OPCODES),
161
162 /* Reported-by: Claudio Bizzarri <claudio.bizzarri@gmail.com> */
163 UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999,
164                 "JMicron",
165                 "JMS567",
166                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
167                 US_FL_BROKEN_FUA | US_FL_NO_REPORT_OPCODES),
168
169 /* Reported-by: David Kozub <zub@linux.fjfi.cvut.cz> */
170 UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x9999,
171                 "JMicron",
172                 "JMS567",
173                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
174                 US_FL_BROKEN_FUA),
175
176 /* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
177 UNUSUAL_DEV(0x154b, 0xf00b, 0x0000, 0x9999,
178                 "PNY",
179                 "Pro Elite SSD",
180                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
181                 US_FL_NO_ATA_1X),
182
183 /* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
184 UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x9999,
185                 "PNY",
186                 "Pro Elite SSD",
187                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
188                 US_FL_NO_ATA_1X),
189
190 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
191 UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
192                 "VIA",
193                 "VL711",
194                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
195                 US_FL_NO_ATA_1X),
196
197 /* Reported-by: Icenowy Zheng <icenowy@aosc.io> */
198 UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
199                 "Norelsys",
200                 "NS1068X",
201                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
202                 US_FL_IGNORE_UAS),
203
204 /*
205  * Initially Reported-by: Takeo Nakayama <javhera@gmx.com>
206  * UAS Ignore Reported by Steven Ellis <sellis@redhat.com>
207  */
208 UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
209                 "JMicron",
210                 "JMS566",
211                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
212                 US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
213
214 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
215 UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
216                 "Hitachi",
217                 "External HDD",
218                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
219                 US_FL_IGNORE_UAS),
220
221 /* Reported-by: Richard Henderson <rth@redhat.com> */
222 UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999,
223                 "SimpleTech",
224                 "External HDD",
225                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
226                 US_FL_NO_REPORT_OPCODES),
227
228 /* "G-DRIVE" external HDD hangs on write without these.
229  * Patch submitted by Alexander Kappner <agk@godking.net>
230  */
231 UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999,
232                 "SimpleTech",
233                 "External HDD",
234                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
235                 US_FL_ALWAYS_SYNC),