GNU Linux-libre 4.9.337-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 /* Reported-by: Julian Groß <julian.g@posteo.de> */
52 UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999,
53                 "LaCie",
54                 "2Big Quadra USB3",
55                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
56                 US_FL_NO_REPORT_OPCODES),
57
58 /* Reported-by: Julian Sikorski <belegdol@gmail.com> */
59 UNUSUAL_DEV(0x059f, 0x1061, 0x0000, 0x9999,
60                 "LaCie",
61                 "Rugged USB3-FW",
62                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
63                 US_FL_IGNORE_UAS),
64
65 /* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
66 UNUSUAL_DEV(0x090c, 0x2000, 0x0000, 0x9999,
67                 "Hiksemi",
68                 "External HDD",
69                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
70                 US_FL_IGNORE_UAS),
71
72 /*
73  * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
74  * commands in UAS mode.  Observed with the 1.28 firmware; are there others?
75  */
76 UNUSUAL_DEV(0x0984, 0x0301, 0x0128, 0x0128,
77                 "Apricorn",
78                 "",
79                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
80                 US_FL_IGNORE_UAS),
81
82 /* https://bugzilla.kernel.org/show_bug.cgi?id=79511 */
83 UNUSUAL_DEV(0x0bc2, 0x2312, 0x0000, 0x9999,
84                 "Seagate",
85                 "Expansion Desk",
86                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
87                 US_FL_NO_ATA_1X),
88
89 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
90 UNUSUAL_DEV(0x0bc2, 0x3312, 0x0000, 0x9999,
91                 "Seagate",
92                 "Expansion Desk",
93                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
94                 US_FL_NO_ATA_1X),
95
96 /* Reported-by: David Webb <djw@noc.ac.uk> */
97 UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
98                 "Seagate",
99                 "Expansion Desk",
100                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
101                 US_FL_NO_REPORT_LUNS),
102
103 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
104 UNUSUAL_DEV(0x0bc2, 0x3320, 0x0000, 0x9999,
105                 "Seagate",
106                 "Expansion Desk",
107                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
108                 US_FL_NO_ATA_1X),
109
110 /* Reported-by: Bogdan Mihalcea <bogdan.mihalcea@infim.ro> */
111 UNUSUAL_DEV(0x0bc2, 0xa003, 0x0000, 0x9999,
112                 "Seagate",
113                 "Backup Plus",
114                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
115                 US_FL_NO_ATA_1X),
116
117 /* Reported-by: Marcin Zajączkowski <mszpak@wp.pl> */
118 UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999,
119                 "Seagate",
120                 "Backup Plus",
121                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
122                 US_FL_NO_ATA_1X),
123
124 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
125 UNUSUAL_DEV(0x0bc2, 0xa0a4, 0x0000, 0x9999,
126                 "Seagate",
127                 "Backup Plus Desk",
128                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
129                 US_FL_NO_ATA_1X),
130
131 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
132 UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999,
133                 "Seagate",
134                 "Backup+ BK",
135                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
136                 US_FL_NO_ATA_1X),
137
138 /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
139 UNUSUAL_DEV(0x0bc2, 0xab21, 0x0000, 0x9999,
140                 "Seagate",
141                 "Backup+ BK",
142                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
143                 US_FL_NO_ATA_1X),
144
145 /* Reported-by: G. Richard Bellamy <rbellamy@pteradigm.com> */
146 UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999,
147                 "Seagate",
148                 "BUP Fast HDD",
149                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
150                 US_FL_NO_ATA_1X),
151
152 /* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
153 UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
154                 "Hiksemi",
155                 "External HDD",
156                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
157                 US_FL_IGNORE_UAS),
158
159 /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
160 UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
161                 "Initio Corporation",
162                 "INIC-3069",
163                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
164                 US_FL_NO_ATA_1X | US_FL_IGNORE_RESIDUE),
165
166 /* Reported-by: Tom Arild Naess <tanaess@gmail.com> */
167 UNUSUAL_DEV(0x152d, 0x0539, 0x0000, 0x9999,
168                 "JMicron",
169                 "JMS539",
170                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
171                 US_FL_NO_REPORT_OPCODES),
172
173 /* Reported-by: Claudio Bizzarri <claudio.bizzarri@gmail.com> */
174 UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999,
175                 "JMicron",
176                 "JMS567",
177                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
178                 US_FL_BROKEN_FUA | US_FL_NO_REPORT_OPCODES),
179
180 /* Reported-by: David Kozub <zub@linux.fjfi.cvut.cz> */
181 UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x9999,
182                 "JMicron",
183                 "JMS567",
184                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
185                 US_FL_BROKEN_FUA),
186
187 /* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
188 UNUSUAL_DEV(0x154b, 0xf00b, 0x0000, 0x9999,
189                 "PNY",
190                 "Pro Elite SSD",
191                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
192                 US_FL_NO_ATA_1X),
193
194 /* Reported-by: Thinh Nguyen <thinhn@synopsys.com> */
195 UNUSUAL_DEV(0x154b, 0xf00d, 0x0000, 0x9999,
196                 "PNY",
197                 "Pro Elite SSD",
198                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
199                 US_FL_NO_ATA_1X),
200
201 /* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
202 UNUSUAL_DEV(0x17ef, 0x3899, 0x0000, 0x9999,
203                 "Thinkplus",
204                 "External HDD",
205                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
206                 US_FL_IGNORE_UAS),
207
208 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
209 UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
210                 "VIA",
211                 "VL711",
212                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
213                 US_FL_NO_ATA_1X),
214
215 /* Reported-by: Icenowy Zheng <icenowy@aosc.io> */
216 UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
217                 "Norelsys",
218                 "NS1068X",
219                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
220                 US_FL_IGNORE_UAS),
221
222 /*
223  * Initially Reported-by: Takeo Nakayama <javhera@gmx.com>
224  * UAS Ignore Reported by Steven Ellis <sellis@redhat.com>
225  */
226 UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
227                 "JMicron",
228                 "JMS566",
229                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
230                 US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
231
232 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
233 UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
234                 "Hitachi",
235                 "External HDD",
236                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
237                 US_FL_IGNORE_UAS),
238
239 /* Reported-by: Richard Henderson <rth@redhat.com> */
240 UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999,
241                 "SimpleTech",
242                 "External HDD",
243                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
244                 US_FL_NO_REPORT_OPCODES),
245
246 /* "G-DRIVE" external HDD hangs on write without these.
247  * Patch submitted by Alexander Kappner <agk@godking.net>
248  */
249 UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999,
250                 "SimpleTech",
251                 "External HDD",
252                 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
253                 US_FL_ALWAYS_SYNC),