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