unusual_devs.h 67.2 KB
Newer Older
1
// SPDX-License-Identifier: GPL-2.0+
2 3
/*
 * Driver for USB Mass Storage compliant devices
4
 * Unusual Devices File
L
Linus Torvalds 已提交
5 6 7 8 9 10 11 12
 *
 * Current development and maintenance by:
 *   (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
 *
 * Initial work by:
 *   (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
 */

13 14
/*
 * IMPORTANT NOTE: This file must be included in another file which does
L
Linus Torvalds 已提交
15
 * the following thing for it to work:
A
Alan Stern 已提交
16 17
 * The UNUSUAL_DEV, COMPLIANT_DEV, and USUAL_DEV macros must be defined
 * before this file is included.
L
Linus Torvalds 已提交
18 19
 */

20 21
/*
 * If you edit this file, please try to keep it sorted first by VendorID,
L
Linus Torvalds 已提交
22 23 24 25 26 27 28
 * 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),
29
 *	- a copy of /sys/kernel/debug/usb/devices with your device plugged in
L
Linus Torvalds 已提交
30
 *	  running with this patch.
31
 * Send your submission to the USB development list <linux-usb@vger.kernel.org>
L
Linus Torvalds 已提交
32 33
 */

34 35
/*
 * Note: If you add an entry only in order to set the CAPACITY_OK flag,
A
Alan Stern 已提交
36 37 38 39 40
 * use the COMPLIANT_DEV macro instead of UNUSUAL_DEV.  This is
 * because such entries mark devices which actually work correctly,
 * as opposed to devices that do something strangely or wrongly.
 */

41 42
/*
 * In-kernel mode switching is deprecated.  Do not add new devices to
43 44 45 46 47 48 49
 * this list for the sole purpose of switching them to a different
 * mode.  Existing userspace solutions are superior.
 *
 * New mode switching devices should instead be added to the database
 * maintained at http://www.draisberghof.de/usb_modeswitch/
 */

50 51 52 53 54
#if !defined(CONFIG_USB_STORAGE_SDDR09) && \
		!defined(CONFIG_USB_STORAGE_SDDR09_MODULE)
#define NO_SDDR09
#endif

55
/* patch submitted by Vivian Bregier <Vivian.Bregier@imag.fr> */
56
UNUSUAL_DEV(  0x03eb, 0x2002, 0x0100, 0x0100,
57 58
		"ATMEL",
		"SND1 Storage",
59
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
60
		US_FL_IGNORE_RESIDUE),
61

62 63 64 65
/* Reported by Rodolfo Quesada <rquesada@roqz.net> */
UNUSUAL_DEV(  0x03ee, 0x6906, 0x0003, 0x0003,
		"VIA Technologies Inc.",
		"Mitsumi multi cardreader",
66
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
67 68
		US_FL_IGNORE_RESIDUE ),

69
UNUSUAL_DEV(  0x03f0, 0x0107, 0x0200, 0x0200,
L
Linus Torvalds 已提交
70 71
		"HP",
		"CD-Writer+",
72
		USB_SC_8070, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
73

74 75 76 77
/* Reported by Ben Efros <ben@pc-doctor.com> */
UNUSUAL_DEV(  0x03f0, 0x070c, 0x0000, 0x0000,
		"HP",
		"Personal Media Drive",
78
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
79 80
		US_FL_SANE_SENSE ),

81 82
/*
 * Reported by Grant Grundler <grundler@parisc-linux.org>
83 84 85 86 87
 * HP r707 camera in "Disk" mode with 2.00.23 or 2.00.24 firmware.
 */
UNUSUAL_DEV(  0x03f0, 0x4002, 0x0001, 0x0001,
		"HP",
		"PhotoSmart R707",
88
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_CAPACITY),
89

90 91 92 93 94 95
UNUSUAL_DEV(  0x03f3, 0x0001, 0x0000, 0x9999,
		"Adaptec",
		"USBConnect 2000",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

96 97
/*
 * Reported by Sebastian Kapfer <sebastian_kapfer@gmx.net>
98 99 100 101 102 103
 * and Olaf Hering <olh@suse.de> (different bcd's, same vendor/product)
 * for USB floppies that need the SINGLE_LUN enforcement.
 */
UNUSUAL_DEV(  0x0409, 0x0040, 0x0000, 0x9999,
		"NEC",
		"NEC USB UF000x",
104
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
105 106
		US_FL_SINGLE_LUN ),

107 108 109 110
/* Patch submitted by Mihnea-Costin Grigore <mihnea@zulu.ro> */
UNUSUAL_DEV(  0x040d, 0x6205, 0x0003, 0x0003,
		"VIA Technologies Inc.",
		"USB 2.0 Card Reader",
111
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
112 113
		US_FL_IGNORE_RESIDUE ),

114 115
/*
 * Deduced by Jonathan Woithe <jwoithe@just42.net>
L
Linus Torvalds 已提交
116 117 118 119 120 121
 * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message
 * always fails and confuses drive.
 */
UNUSUAL_DEV(  0x0411, 0x001c, 0x0113, 0x0113,
		"Buffalo",
		"DUB-P40G HDD",
122
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
123 124
		US_FL_FIX_INQUIRY ),

125 126
/* Submitted by Ernestas Vaiciukevicius <ernisv@gmail.com> */
UNUSUAL_DEV(  0x0419, 0x0100, 0x0100, 0x0100,
127 128
		"Samsung Info. Systems America, Inc.",
		"MP3 Player",
129
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
130
		US_FL_IGNORE_RESIDUE ),
131

132 133 134
/* Reported by Orgad Shaneh <orgads@gmail.com> */
UNUSUAL_DEV(  0x0419, 0xaace, 0x0100, 0x0100,
		"Samsung", "MP3 Player",
135
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
136 137
		US_FL_IGNORE_RESIDUE ),

138 139 140 141
/* Reported by Christian Leber <christian@leber.de> */
UNUSUAL_DEV(  0x0419, 0xaaf5, 0x0100, 0x0100,
		"TrekStor",
		"i.Beat 115 2.0",
142
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
143 144
		US_FL_IGNORE_RESIDUE | US_FL_NOT_LOCKABLE ),

P
Phil Dibowitz 已提交
145 146 147 148
/* Reported by Stefan Werner <dustbln@gmx.de> */
UNUSUAL_DEV(  0x0419, 0xaaf6, 0x0100, 0x0100,
		"TrekStor",
		"i.Beat Joy 2.0",
149
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
P
Phil Dibowitz 已提交
150 151
		US_FL_IGNORE_RESIDUE ),

152 153 154
/* Reported by Pete Zaitcev <zaitcev@redhat.com>, bz#176584 */
UNUSUAL_DEV(  0x0420, 0x0001, 0x0100, 0x0100,
		"GENERIC", "MP3 PLAYER", /* MyMusix PD-205 on the outside. */
155
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
156 157
		US_FL_IGNORE_RESIDUE ),

158 159
/*
 * Reported by Andrew Nayenko <relan@bk.ru>
160
 * Updated for new firmware by Phillip Potter <phil@philpotter.co.uk>
161
 */
162
UNUSUAL_DEV(  0x0421, 0x0019, 0x0592, 0x0610,
163 164
		"Nokia",
		"Nokia 6288",
165
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
166 167
		US_FL_MAX_SECTORS_64 ),

168 169 170 171
/* Reported by Mario Rettig <mariorettig@web.de> */
UNUSUAL_DEV(  0x0421, 0x042e, 0x0100, 0x0100,
		"Nokia",
		"Nokia 3250",
172
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
173 174
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

175 176 177 178
/* Reported by <honkkis@gmail.com> */
UNUSUAL_DEV(  0x0421, 0x0433, 0x0100, 0x0100,
		"Nokia",
		"E70",
179
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
180 181
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

182 183 184 185
/* Reported by Jon Hart <Jon.Hart@web.de> */
UNUSUAL_DEV(  0x0421, 0x0434, 0x0100, 0x0100,
		"Nokia",
		"E60",
186
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
187 188
		US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),

189 190 191 192
/*
 * Reported by Sumedha Swamy <sumedhaswamy@gmail.com> and
 * Einar Th. Einarsson <einarthered@gmail.com>
 */
193 194 195
UNUSUAL_DEV(  0x0421, 0x0444, 0x0100, 0x0100,
		"Nokia",
		"N91",
196
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
197 198
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

199 200 201 202
/*
 * Reported by Jiri Slaby <jirislaby@gmail.com> and
 * Rene C. Castberg <Rene@Castberg.org>
 */
203 204 205
UNUSUAL_DEV(  0x0421, 0x0446, 0x0100, 0x0100,
		"Nokia",
		"N80",
206
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
207 208
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

209 210 211 212
/* Reported by Matthew Bloch <matthew@bytemark.co.uk> */
UNUSUAL_DEV(  0x0421, 0x044e, 0x0100, 0x0100,
		"Nokia",
		"E61",
213
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
214 215
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

216
/* Reported by Bardur Arantsson <bardur@scientician.net> */
217
UNUSUAL_DEV(  0x0421, 0x047c, 0x0370, 0x0610,
218 219
		"Nokia",
		"6131",
220
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
221 222
		US_FL_MAX_SECTORS_64 ),

223
/* Reported by Manuel Osdoba <manuel.osdoba@tu-ilmenau.de> */
224
UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x9999,
225 226
		"Nokia",
		"Nokia 6233",
227
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
228 229
		US_FL_MAX_SECTORS_64 ),

230 231 232 233
/* Reported by Alex Corcoles <alex@corcoles.net> */
UNUSUAL_DEV(  0x0421, 0x0495, 0x0370, 0x0370,
		"Nokia",
		"6234",
234
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
235 236
		US_FL_MAX_SECTORS_64 ),

237 238 239 240 241 242 243
/* Reported by Daniele Forsi <dforsi@gmail.com> */
UNUSUAL_DEV(  0x0421, 0x04b9, 0x0350, 0x0350,
		"Nokia",
		"5300",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64 ),

244 245 246 247 248 249 250
/* Patch submitted by Victor A. Santos <victoraur.santos@gmail.com> */
UNUSUAL_DEV(  0x0421, 0x05af, 0x0742, 0x0742,
		"Nokia",
		"305",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64),

251 252 253 254 255 256 257
/* Patch submitted by Mikhail Zolotaryov <lebon@lebon.org.ua> */
UNUSUAL_DEV(  0x0421, 0x06aa, 0x1110, 0x1110,
		"Nokia",
		"502",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64 ),

258
#ifdef NO_SDDR09
259 260 261
UNUSUAL_DEV(  0x0436, 0x0005, 0x0100, 0x0100,
		"Microtech",
		"CameraMate",
262
		USB_SC_SCSI, USB_PR_CB, NULL,
263
		US_FL_SINGLE_LUN ),
L
Linus Torvalds 已提交
264 265
#endif

266 267 268 269
/*
 * Patch submitted by Daniel Drake <dsd@gentoo.org>
 * Device reports nonsense bInterfaceProtocol 6 when connected over USB2
 */
P
Phil Dibowitz 已提交
270 271 272
UNUSUAL_DEV(  0x0451, 0x5416, 0x0100, 0x0100,
		"Neuros Audio",
		"USB 2.0 HD 2.5",
273
		USB_SC_DEVICE, USB_PR_BULK, NULL,
P
Phil Dibowitz 已提交
274 275
		US_FL_NEED_OVERRIDE ),

276 277 278 279 280 281 282 283
/*
 * Pete Zaitcev <zaitcev@yahoo.com>, from Patrick C. F. Ernzer, bz#162559.
 * The key does not actually break, but it returns zero sense which
 * makes our SCSI stack to print confusing messages.
 */
UNUSUAL_DEV(  0x0457, 0x0150, 0x0100, 0x0100,
		"USBest Technology",	/* sold by Transcend */
		"USB Mass Storage Device",
284
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
285

P
Phil Dibowitz 已提交
286
/*
287 288 289 290
 * Bohdan Linda <bohdan.linda@gmail.com>
 * 1GB USB sticks MyFlash High Speed. I have restricted
 * the revision to my model only
 */
P
Phil Dibowitz 已提交
291
UNUSUAL_DEV(  0x0457, 0x0151, 0x0100, 0x0100,
292 293
		"USB 2.0",
		"Flash Disk",
294
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
295
		US_FL_NOT_LOCKABLE ),
296

297 298
/*
 * Reported by Tamas Kerecsen <kerecsen@bigfoot.com>
299 300 301 302 303 304 305 306
 * Obviously the PROM has not been customized by the VAR;
 * the Vendor and Product string descriptors are:
 *	Generic Mass Storage (PROTOTYPE--Remember to change idVendor)
 *	Generic Manufacturer (PROTOTYPE--Remember to change idVendor)
 */
UNUSUAL_DEV(  0x045e, 0xffff, 0x0000, 0x0000,
		"Mitac",
		"GPS",
307
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
308 309
		US_FL_MAX_SECTORS_64 ),

310 311 312 313 314 315 316 317 318
/*
 * This virtual floppy is found in Sun equipment (x4600, x4200m2, etc.)
 * Reported by Pete Zaitcev <zaitcev@redhat.com>
 * This device chokes on both version of MODE SENSE which we have, so
 * use_10_for_ms is not effective, and we use US_FL_NO_WP_DETECT.
 */
UNUSUAL_DEV(  0x046b, 0xff40, 0x0100, 0x0100,
		"AMI",
		"Virtual Floppy",
319
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
320 321
		US_FL_NO_WP_DETECT),

322 323 324 325 326 327 328
/* Reported by Egbert Eich <eich@suse.com> */
UNUSUAL_DEV(  0x0480, 0xd010, 0x0100, 0x9999,
		"Toshiba",
		"External USB 3.0",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_ALWAYS_SYNC),

L
Linus Torvalds 已提交
329 330 331 332
/* Patch submitted by Philipp Friedrich <philipp@void.at> */
UNUSUAL_DEV(  0x0482, 0x0100, 0x0100, 0x0100,
		"Kyocera",
		"Finecam S3x",
333
		USB_SC_8070, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
L
Linus Torvalds 已提交
334 335 336 337 338

/* Patch submitted by Philipp Friedrich <philipp@void.at> */
UNUSUAL_DEV(  0x0482, 0x0101, 0x0100, 0x0100,
		"Kyocera",
		"Finecam S4",
339
		USB_SC_8070, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
L
Linus Torvalds 已提交
340 341 342 343 344

/* Patch submitted by Stephane Galles <stephane.galles@free.fr> */
UNUSUAL_DEV(  0x0482, 0x0103, 0x0100, 0x0100,
		"Kyocera",
		"Finecam S5",
345
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
L
Linus Torvalds 已提交
346

347 348 349 350
/* Patch submitted by Jens Taprogge <jens.taprogge@taprogge.org> */
UNUSUAL_DEV(  0x0482, 0x0107, 0x0100, 0x0100,
		"Kyocera",
		"CONTAX SL300R T*",
351
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
352 353
		US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE),

354 355 356 357
/*
 * Reported by Paul Stewart <stewart@wetlogic.net>
 * This entry is needed because the device reports Sub=ff
 */
L
Linus Torvalds 已提交
358 359 360
UNUSUAL_DEV(  0x04a4, 0x0004, 0x0001, 0x0001,
		"Hitachi",
		"DVD-CAM DZ-MV100A Camcorder",
361
		USB_SC_SCSI, USB_PR_CB, NULL, US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
362

363 364
/*
 * BENQ DC5330
365
 * Reported by Manuel Fombuena <mfombuena@ya.com> and
366 367
 * Frank Copeland <fjc@thingy.apana.org.au>
 */
368 369 370
UNUSUAL_DEV(  0x04a5, 0x3010, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"300_CAMERA",
371
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
372 373
		US_FL_IGNORE_RESIDUE ),

374 375 376 377
/*
 * Patch for Nikon coolpix 2000
 * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>
 */
378 379 380
UNUSUAL_DEV(  0x04b0, 0x0301, 0x0010, 0x0010,
		"NIKON",
		"NIKON DSC E2000",
381
		USB_SC_DEVICE, USB_PR_DEVICE,NULL,
382 383
		US_FL_NOT_LOCKABLE ),

384 385 386 387
/* Reported by Doug Maxey (dwm@austin.ibm.com) */
UNUSUAL_DEV(  0x04b3, 0x4001, 0x0110, 0x0110,
		"IBM",
		"IBM RSA2",
388
		USB_SC_DEVICE, USB_PR_CB, NULL,
389 390
		US_FL_MAX_SECTORS_MIN),

391 392 393 394
/*
 * Reported by Simon Levitt <simon@whattf.com>
 * This entry needs Sub and Proto fields
 */
L
Linus Torvalds 已提交
395 396 397
UNUSUAL_DEV(  0x04b8, 0x0601, 0x0100, 0x0100,
		"Epson",
		"875DC Storage",
398
		USB_SC_SCSI, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
L
Linus Torvalds 已提交
399

400 401 402 403
/*
 * Reported by Khalid Aziz <khalid@gonehiking.org>
 * This entry is needed because the device reports Sub=ff
 */
L
Linus Torvalds 已提交
404 405 406
UNUSUAL_DEV(  0x04b8, 0x0602, 0x0110, 0x0110,
		"Epson",
		"785EPX Storage",
407
		USB_SC_SCSI, USB_PR_BULK, NULL, US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
408

409 410
/*
 * Not sure who reported this originally but
L
Linus Torvalds 已提交
411 412 413 414 415
 * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN
 * flag be added */
UNUSUAL_DEV(  0x04cb, 0x0100, 0x0000, 0x2210,
		"Fujifilm",
		"FinePix 1400Zoom",
416
		USB_SC_UFI, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
417

418 419
/*
 * Reported by Ondrej Zary <linux@rainbow-software.org>
420 421 422 423 424
 * The device reports one sector more and breaks when that sector is accessed
 */
UNUSUAL_DEV(  0x04ce, 0x0002, 0x026c, 0x026c,
		"ScanLogic",
		"SL11R-IDE",
425
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
426 427
		US_FL_FIX_CAPACITY),

428 429
/*
 * Reported by Kriston Fincher <kriston@airmail.net>
L
Linus Torvalds 已提交
430 431 432 433 434 435 436
 * Patch submitted by Sean Millichamp <sean@bruenor.org>
 * This is to support the Panasonic PalmCam PV-SD4090
 * This entry is needed because the device reports Sub=ff 
 */
UNUSUAL_DEV(  0x04da, 0x0901, 0x0100, 0x0200,
		"Panasonic",
		"LS-120 Camera",
437
		USB_SC_UFI, USB_PR_DEVICE, NULL, 0),
L
Linus Torvalds 已提交
438

439 440 441 442
/*
 * From Yukihiro Nakai, via zaitcev@yahoo.com.
 * This is needed for CB instead of CBI
 */
L
Linus Torvalds 已提交
443 444 445
UNUSUAL_DEV(  0x04da, 0x0d05, 0x0000, 0x0000,
		"Sharp CE-CW05",
		"CD-R/RW Drive",
446
		USB_SC_8070, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
447 448 449 450 451

/* Reported by Adriaan Penning <a.penning@luon.net> */
UNUSUAL_DEV(  0x04da, 0x2372, 0x0000, 0x9999,
		"Panasonic",
		"DMC-LCx Camera",
452
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
453
		US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
454 455 456 457 458

/* Reported by Simeon Simeonov <simeonov_2000@yahoo.com> */
UNUSUAL_DEV(  0x04da, 0x2373, 0x0000, 0x9999,
		"LEICA",
		"D-LUX Camera",
459
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
460
		US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
L
Linus Torvalds 已提交
461

462 463
/*
 * Most of the following entries were developed with the help of
L
Linus Torvalds 已提交
464 465
 * Shuttle/SCM directly.
 */
466
UNUSUAL_DEV(  0x04e6, 0x0001, 0x0200, 0x0200,
L
Linus Torvalds 已提交
467 468
		"Matshita",
		"LS-120",
469
		USB_SC_8020, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
470

471
UNUSUAL_DEV(  0x04e6, 0x0002, 0x0100, 0x0100,
L
Linus Torvalds 已提交
472 473
		"Shuttle",
		"eUSCSI Bridge",
474
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
475
		US_FL_SCM_MULT_TARG ),
L
Linus Torvalds 已提交
476

477
#ifdef NO_SDDR09
478 479 480
UNUSUAL_DEV(  0x04e6, 0x0005, 0x0100, 0x0208,
		"SCM Microsystems",
		"eUSB CompactFlash Adapter",
481
		USB_SC_SCSI, USB_PR_CB, NULL,
482
		US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
483 484 485
#endif

/* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */
486
UNUSUAL_DEV(  0x04e6, 0x0006, 0x0100, 0x0100,
L
Linus Torvalds 已提交
487 488
		"SCM Microsystems Inc.",
		"eUSB MMC Adapter",
489
		USB_SC_SCSI, USB_PR_CB, NULL,
490
		US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
491 492

/* Reported by Daniel Nouri <dpunktnpunkt@web.de> */
493
UNUSUAL_DEV(  0x04e6, 0x0006, 0x0205, 0x0205,
L
Linus Torvalds 已提交
494 495
		"Shuttle",
		"eUSB MMC Adapter",
496
		USB_SC_SCSI, USB_PR_DEVICE, NULL,
497
		US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
498

499
UNUSUAL_DEV(  0x04e6, 0x0007, 0x0100, 0x0200,
L
Linus Torvalds 已提交
500 501
		"Sony",
		"Hifd",
502
		USB_SC_SCSI, USB_PR_CB, NULL,
503
		US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
504

505
UNUSUAL_DEV(  0x04e6, 0x0009, 0x0200, 0x0200,
L
Linus Torvalds 已提交
506 507
		"Shuttle",
		"eUSB ATA/ATAPI Adapter",
508
		USB_SC_8020, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
509

510
UNUSUAL_DEV(  0x04e6, 0x000a, 0x0200, 0x0200,
L
Linus Torvalds 已提交
511 512
		"Shuttle",
		"eUSB CompactFlash Adapter",
513
		USB_SC_8020, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
514

515
UNUSUAL_DEV(  0x04e6, 0x000b, 0x0100, 0x0100,
L
Linus Torvalds 已提交
516 517
		"Shuttle",
		"eUSCSI Bridge",
518
		USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
L
Linus Torvalds 已提交
519 520
		US_FL_SCM_MULT_TARG ), 

521
UNUSUAL_DEV(  0x04e6, 0x000c, 0x0100, 0x0100,
L
Linus Torvalds 已提交
522 523
		"Shuttle",
		"eUSCSI Bridge",
524
		USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
525
		US_FL_SCM_MULT_TARG ),
L
Linus Torvalds 已提交
526

527 528 529
UNUSUAL_DEV(  0x04e6, 0x000f, 0x0000, 0x9999,
		"SCM Microsystems",
		"eUSB SCSI Adapter (Bus Powered)",
530
		USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
531 532
		US_FL_SCM_MULT_TARG ),

533
UNUSUAL_DEV(  0x04e6, 0x0101, 0x0200, 0x0200,
L
Linus Torvalds 已提交
534 535
		"Shuttle",
		"CD-RW Device",
536
		USB_SC_8020, USB_PR_CB, NULL, 0),
L
Linus Torvalds 已提交
537

538 539 540 541
/* Reported by Dmitry Khlystov <adminimus@gmail.com> */
UNUSUAL_DEV(  0x04e8, 0x507c, 0x0220, 0x0220,
		"Samsung",
		"YP-U3",
542
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
543 544
		US_FL_MAX_SECTORS_64),

545 546 547 548 549 550 551
/* Reported by Vitaly Kuznetsov <vitty@altlinux.ru> */
UNUSUAL_DEV(  0x04e8, 0x5122, 0x0000, 0x9999,
		"Samsung",
		"YP-CP3",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG),

552 553 554 555 556 557 558
/* Added by Dmitry Artamonow <mad_soft@inbox.ru> */
UNUSUAL_DEV(  0x04e8, 0x5136, 0x0000, 0x9999,
		"Samsung",
		"YP-Z3",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64),

559 560
/*
 * Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
P
Phil Dibowitz 已提交
561 562 563 564 565 566
 * Device uses standards-violating 32-byte Bulk Command Block Wrappers and
 * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011.
 */
UNUSUAL_DEV(  0x04fc, 0x80c2, 0x0100, 0x0100,
		"Kobian Mercury",
		"Binocam DCB-132",
567
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
P
Phil Dibowitz 已提交
568 569
		US_FL_BULK32),

L
Linus Torvalds 已提交
570 571 572 573
/* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */
UNUSUAL_DEV(  0x050d, 0x0115, 0x0133, 0x0133,
		"Belkin",
		"USB SCSI Adaptor",
574
		USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
L
Linus Torvalds 已提交
575 576
		US_FL_SCM_MULT_TARG ),

577 578
/*
 * Iomega Clik! Drive 
L
Linus Torvalds 已提交
579 580 581 582 583 584
 * Reported by David Chatenay <dchatenay@hotmail.com>
 * The reason this is needed is not fully known.
 */
UNUSUAL_DEV(  0x0525, 0xa140, 0x0100, 0x0100,
		"Iomega",
		"USB Clik! 40",
585
		USB_SC_8070, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
586 587
		US_FL_FIX_INQUIRY ),

A
Alan Stern 已提交
588 589 590 591
/* Added by Alan Stern <stern@rowland.harvard.edu> */
COMPLIANT_DEV(0x0525, 0xa4a5, 0x0000, 0x9999,
		"Linux",
		"File-backed Storage Gadget",
592
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
A
Alan Stern 已提交
593 594
		US_FL_CAPACITY_OK ),

595 596
/*
 * Yakumo Mega Image 37
L
Linus Torvalds 已提交
597 598 599 600
 * Submitted by Stephan Fuhrmann <atomenergie@t-online.de> */
UNUSUAL_DEV(  0x052b, 0x1801, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"300_CAMERA",
601
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
602 603
		US_FL_IGNORE_RESIDUE ),

604 605 606 607
/*
 * Another Yakumo camera.
 * Reported by Michele Alzetta <michele.alzetta@aliceposta.it>
 */
L
Linus Torvalds 已提交
608 609 610
UNUSUAL_DEV(  0x052b, 0x1804, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"300_CAMERA",
611
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
612 613 614 615 616 617
		US_FL_IGNORE_RESIDUE ),

/* Reported by Iacopo Spalletti <avvisi@spalletti.it> */
UNUSUAL_DEV(  0x052b, 0x1807, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"300_CAMERA",
618
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
619 620
		US_FL_IGNORE_RESIDUE ),

621 622 623 624
/*
 * Yakumo Mega Image 47
 * Reported by Bjoern Paetzel <kolrabi@kolrabi.de>
 */
L
Linus Torvalds 已提交
625 626 627
UNUSUAL_DEV(  0x052b, 0x1905, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"400_CAMERA",
628
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
629 630
		US_FL_IGNORE_RESIDUE ),

631 632 633 634
/*
 * Reported by Paul Ortyl <ortylp@3miasto.net>
 * Note that it's similar to the device above, only different prodID
 */
L
Linus Torvalds 已提交
635 636 637
UNUSUAL_DEV(  0x052b, 0x1911, 0x0100, 0x0100,
		"Tekom Technologies, Inc",
		"400_CAMERA",
638
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
639 640
		US_FL_IGNORE_RESIDUE ),

641
UNUSUAL_DEV(  0x054c, 0x0010, 0x0106, 0x0450,
L
Linus Torvalds 已提交
642
		"Sony",
643
		"DSC-S30/S70/S75/505V/F505/F707/F717/P8",
644
		USB_SC_SCSI, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
645 646
		US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ),

647 648 649 650
/*
 * Submitted by Lars Jacob <jacob.lars@googlemail.com>
 * This entry is needed because the device reports Sub=ff
 */
651
UNUSUAL_DEV(  0x054c, 0x0010, 0x0500, 0x0610,
652
		"Sony",
653
		"DSC-T1/T5/H5",
654
		USB_SC_8070, USB_PR_DEVICE, NULL,
655
		US_FL_SINGLE_LUN ),
L
Linus Torvalds 已提交
656 657 658


/* Reported by wim@geeks.nl */
659
UNUSUAL_DEV(  0x054c, 0x0025, 0x0100, 0x0100,
L
Linus Torvalds 已提交
660 661
		"Sony",
		"Memorystick NW-MS7",
662
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
663 664 665
		US_FL_SINGLE_LUN ),

/* Submitted by Olaf Hering, <olh@suse.de> SuSE Bugzilla #49049 */
666
UNUSUAL_DEV(  0x054c, 0x002c, 0x0501, 0x2000,
L
Linus Torvalds 已提交
667 668
		"Sony",
		"USB Floppy Drive",
669
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
670 671
		US_FL_SINGLE_LUN ),

672
UNUSUAL_DEV(  0x054c, 0x002d, 0x0100, 0x0100,
L
Linus Torvalds 已提交
673 674
		"Sony",
		"Memorystick MSAC-US1",
675
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
676 677 678
		US_FL_SINGLE_LUN ),

/* Submitted by Klaus Mueller <k.mueller@intershop.de> */
679
UNUSUAL_DEV(  0x054c, 0x002e, 0x0106, 0x0310,
L
Linus Torvalds 已提交
680 681
		"Sony",
		"Handycam",
682
		USB_SC_SCSI, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
683 684 685
		US_FL_SINGLE_LUN ),

/* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */
686
UNUSUAL_DEV(  0x054c, 0x002e, 0x0500, 0x0500,
L
Linus Torvalds 已提交
687 688
		"Sony",
		"Handycam HC-85",
689
		USB_SC_UFI, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
690 691 692 693 694
		US_FL_SINGLE_LUN ),

UNUSUAL_DEV(  0x054c, 0x0032, 0x0000, 0x9999,
		"Sony",
		"Memorystick MSC-U01N",
695
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
696 697 698 699 700 701
		US_FL_SINGLE_LUN ),

/* Submitted by Michal Mlotek <mlotek@foobar.pl> */
UNUSUAL_DEV(  0x054c, 0x0058, 0x0000, 0x9999,
		"Sony",
		"PEG N760c Memorystick",
702
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
703 704 705 706 707
		US_FL_FIX_INQUIRY ),
		
UNUSUAL_DEV(  0x054c, 0x0069, 0x0000, 0x9999,
		"Sony",
		"Memorystick MSC-U03",
708
		USB_SC_UFI, USB_PR_CB, NULL,
L
Linus Torvalds 已提交
709 710 711 712 713 714
		US_FL_SINGLE_LUN ),

/* Submitted by Nathan Babb <nathan@lexi.com> */
UNUSUAL_DEV(  0x054c, 0x006d, 0x0000, 0x9999,
		"Sony",
		"PEG Mass Storage",
715
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
716 717
		US_FL_FIX_INQUIRY ),

718 719
/* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */
UNUSUAL_DEV(  0x054c, 0x0099, 0x0000, 0x9999,
L
Linus Torvalds 已提交
720 721
		"Sony",
		"PEG Mass Storage",
722
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
723
		US_FL_FIX_INQUIRY ),
724 725 726

/* Submitted by Mike Alborn <malborn@deandra.homeip.net> */
UNUSUAL_DEV(  0x054c, 0x016a, 0x0000, 0x9999,
727 728
		"Sony",
		"PEG Mass Storage",
729
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
730
		US_FL_FIX_INQUIRY ),
L
Linus Torvalds 已提交
731

732 733 734 735 736 737 738
/* Submitted by Ren Bigcren <bigcren.ren@sonymobile.com> */
UNUSUAL_DEV(  0x054c, 0x02a5, 0x0100, 0x0100,
		"Sony Corp.",
		"MicroVault Flash Drive",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_READ_CAPACITY_16 ),

739 740
/* floppy reports multiple luns */
UNUSUAL_DEV(  0x055d, 0x2020, 0x0000, 0x0210,
741 742
		"SAMSUNG",
		"SFD-321U [FW 0C]",
743
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
744
		US_FL_SINGLE_LUN ),
745

746
/* We keep this entry to force the transport; firmware 3.00 and later is ok. */
747
UNUSUAL_DEV(  0x057b, 0x0000, 0x0000, 0x0299,
L
Linus Torvalds 已提交
748 749
		"Y-E Data",
		"Flashbuster-U",
750
		USB_SC_DEVICE,  USB_PR_CB, NULL,
L
Linus Torvalds 已提交
751 752
		US_FL_SINGLE_LUN),

753 754
/*
 * Reported by Johann Cardon <johann.cardon@free.fr>
L
Linus Torvalds 已提交
755 756 757
 * This entry is needed only because the device reports
 * bInterfaceClass = 0xff (vendor-specific)
 */
758
UNUSUAL_DEV(  0x057b, 0x0022, 0x0000, 0x9999,
L
Linus Torvalds 已提交
759 760
		"Y-E Data",
		"Silicon Media R/W",
761
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, 0),
L
Linus Torvalds 已提交
762

763 764 765 766
/* Reported by RTE <raszilki@yandex.ru> */
UNUSUAL_DEV(  0x058f, 0x6387, 0x0141, 0x0141,
		"JetFlash",
		"TS1GJF2A/120",
767
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
768 769
		US_FL_MAX_SECTORS_64 ),

L
Linus Torvalds 已提交
770 771 772 773
/* Fabrizio Fellini <fello@libero.it> */
UNUSUAL_DEV(  0x0595, 0x4343, 0x0000, 0x2210,
		"Fujifilm",
		"Digital Camera EX-20 DSC",
774
		USB_SC_8070, USB_PR_DEVICE, NULL, 0 ),
L
Linus Torvalds 已提交
775

776 777
/*
 * Reported by Andre Welter <a.r.welter@gmx.de>
778 779 780 781 782 783 784 785
 * This antique device predates the release of the Bulk-only Transport
 * spec, and if it gets a Get-Max-LUN then it requires the host to do a
 * Clear-Halt on the bulk endpoints.  The SINGLE_LUN flag will prevent
 * us from sending the request.
 */
UNUSUAL_DEV(  0x059b, 0x0001, 0x0100, 0x0100,
		"Iomega",
		"ZIP 100",
786
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
787 788
		US_FL_SINGLE_LUN ),

789 790 791 792 793 794
UNUSUAL_DEV(  0x059b, 0x0040, 0x0100, 0x0100,
		"Iomega",
		"Jaz USB Adapter",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_SINGLE_LUN ),

795 796 797 798
/* Reported by <Hendryk.Pfeiffer@gmx.de> */
UNUSUAL_DEV(  0x059f, 0x0643, 0x0000, 0x0000,
		"LaCie",
		"DVD+-RW",
799
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
800 801
		US_FL_GO_SLOW ),

802 803 804 805 806 807 808
/* Reported by Christian Schaller <cschalle@redhat.com> */
UNUSUAL_DEV(  0x059f, 0x0651, 0x0000, 0x0000,
		"LaCie",
		"External HDD",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_WP_DETECT ),

809 810
/*
 * Submitted by Joel Bourquard <numlock@freesurf.ch>
L
Linus Torvalds 已提交
811 812 813 814 815 816
 * Some versions of this device need the SubClass and Protocol overrides
 * while others don't.
 */
UNUSUAL_DEV(  0x05ab, 0x0060, 0x1104, 0x1110,
		"In-System",
		"PyroGate External CD-ROM Enclosure (FCD-523)",
817
		USB_SC_SCSI, USB_PR_BULK, NULL,
L
Linus Torvalds 已提交
818 819
		US_FL_NEED_OVERRIDE ),

820 821
/*
 * Submitted by Sven Anderson <sven-linux@anderson.de>
822 823 824 825 826 827 828 829
 * There are at least four ProductIDs used for iPods, so I added 0x1202 and
 * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears
 * to change with firmware updates, I changed the range to maximum for all
 * iPod entries.
 */
UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999,
		"Apple",
		"iPod",
830
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
831 832
		US_FL_FIX_CAPACITY ),

L
Linus Torvalds 已提交
833
/* Reported by Avi Kivity <avi@argo.co.il> */
834 835 836
UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999,
		"Apple",
		"iPod",
837
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
838 839 840
		US_FL_FIX_CAPACITY ),

UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999,
L
Linus Torvalds 已提交
841 842
		"Apple",
		"iPod",
843
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
844
		US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
L
Linus Torvalds 已提交
845

846
UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999,
L
Linus Torvalds 已提交
847 848
		"Apple",
		"iPod",
849
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
850 851
		US_FL_FIX_CAPACITY ),

852 853 854 855 856 857 858
/*
 * Reported by Tyson Vinson <lornoss@gmail.com>
 * This particular productId is the iPod Nano
 */
UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999,
		"Apple",
		"iPod",
859
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
860 861
		US_FL_FIX_CAPACITY ),

862 863
/*
 * Reported by Dan Williams <dcbw@redhat.com>
864 865 866 867 868 869 870 871
 * Option N.V. mobile broadband modems
 * Ignore driver CD mode and force into modem mode by default.
 */

/* Globetrotter HSDPA; mass storage shows up as Qualcomm for vendor */
UNUSUAL_DEV(  0x05c6, 0x1000, 0x0000, 0x9999,
		"Option N.V.",
		"Mass Storage",
872
		USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init,
873 874
		0),

L
Linus Torvalds 已提交
875 876 877 878
/* Reported by Blake Matheny <bmatheny@purdue.edu> */
UNUSUAL_DEV(  0x05dc, 0xb002, 0x0000, 0x0113,
		"Lexar",
		"USB CF Reader",
879
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
880 881
		US_FL_FIX_INQUIRY ),

882 883
/*
 * The following two entries are for a Genesys USB to IDE
L
Linus Torvalds 已提交
884 885 886 887 888
 * converter chip, but it changes its ProductId depending
 * on whether or not a disk or an optical device is enclosed
 * They were originally reported by Alexander Oltu
 * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com>
 * respectively.
889 890 891 892
 *
 * US_FL_GO_SLOW and US_FL_MAX_SECTORS_64 added by Phil Dibowitz
 * <phil@ipom.com> as these flags were made and hard-coded
 * special-cases were pulled from scsiglue.c.
L
Linus Torvalds 已提交
893 894 895 896
 */
UNUSUAL_DEV(  0x05e3, 0x0701, 0x0000, 0xffff,
		"Genesys Logic",
		"USB to IDE Optical",
897
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
898
		US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
L
Linus Torvalds 已提交
899 900 901 902

UNUSUAL_DEV(  0x05e3, 0x0702, 0x0000, 0xffff,
		"Genesys Logic",
		"USB to IDE Disk",
903
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
904
		US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
L
Linus Torvalds 已提交
905

906 907 908 909
/* Reported by Ben Efros <ben@pc-doctor.com> */
UNUSUAL_DEV(  0x05e3, 0x0723, 0x9451, 0x9451,
		"Genesys Logic",
		"USB to SATA",
910
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
911 912
		US_FL_SANE_SENSE ),

913 914 915 916
/*
 * Reported by Hanno Boeck <hanno@gmx.de>
 * Taken from the Lycoris Kernel
 */
L
Linus Torvalds 已提交
917 918 919
UNUSUAL_DEV(  0x0636, 0x0003, 0x0000, 0x9999,
		"Vivitar",
		"Vivicam 35Xx",
920
		USB_SC_SCSI, USB_PR_BULK, NULL,
L
Linus Torvalds 已提交
921 922
		US_FL_FIX_INQUIRY ),

923
UNUSUAL_DEV(  0x0644, 0x0000, 0x0100, 0x0100,
L
Linus Torvalds 已提交
924 925
		"TEAC",
		"Floppy Drive",
926
		USB_SC_UFI, USB_PR_CB, NULL, 0 ),
L
Linus Torvalds 已提交
927 928 929 930 931

/* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */
UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001,
		"SigmaTel",
		"USBMSC Audio Player",
932
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
933 934
		US_FL_FIX_CAPACITY ),

A
Alan Stern 已提交
935 936 937 938
/* Reported by Daniel Kukula <daniel.kuku@gmail.com> */
UNUSUAL_DEV( 0x067b, 0x1063, 0x0100, 0x0100,
		"Prolific Technology, Inc.",
		"Prolific Storage Gadget",
939
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
A
Alan Stern 已提交
940 941
		US_FL_BAD_SENSE ),

942 943 944 945
/* Reported by Rogerio Brito <rbrito@ime.usp.br> */
UNUSUAL_DEV( 0x067b, 0x2317, 0x0001, 0x001,
		"Prolific Technology, Inc.",
		"Mass Storage Device",
946
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
947 948
		US_FL_NOT_LOCKABLE ),

L
Linus Torvalds 已提交
949
/* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */
950 951 952 953
/*
 * Change to bcdDeviceMin (0x0100 to 0x0001) reported by
 * Thomas Bartosik <tbartdev@gmx-topmail.de>
 */
954
UNUSUAL_DEV( 0x067b, 0x2507, 0x0001, 0x0100,
L
Linus Torvalds 已提交
955 956
		"Prolific Technology Inc.",
		"Mass Storage Device",
957
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
958 959 960
		US_FL_FIX_CAPACITY | US_FL_GO_SLOW ),

/* Reported by Alex Butcher <alex.butcher@assursys.co.uk> */
961
UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0101,
L
Linus Torvalds 已提交
962 963
		"Prolific Technology Inc.",
		"ATAPI-6 Bridge Controller",
964
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
965 966 967 968 969 970
		US_FL_FIX_CAPACITY | US_FL_GO_SLOW ),

/* Submitted by Benny Sjostrand <benny@hostmobility.com> */
UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001,
		"Minolta",
		"Dimage F300",
971
		USB_SC_SCSI, USB_PR_BULK, NULL, 0 ),
L
Linus Torvalds 已提交
972 973 974

/* Reported by Miguel A. Fosas <amn3s1a@ono.com> */
UNUSUAL_DEV(  0x0686, 0x4017, 0x0001, 0x0001,
975 976
		"Minolta",
		"DIMAGE E223",
977
		USB_SC_SCSI, USB_PR_DEVICE, NULL, 0 ),
L
Linus Torvalds 已提交
978 979 980 981

UNUSUAL_DEV(  0x0693, 0x0005, 0x0100, 0x0100,
		"Hagiwara",
		"Flashgate",
982
		USB_SC_SCSI, USB_PR_BULK, NULL, 0 ),
L
Linus Torvalds 已提交
983

984 985 986 987
/* Reported by David Hamilton <niftimusmaximus@lycos.com> */
UNUSUAL_DEV(  0x069b, 0x3004, 0x0001, 0x0001,
		"Thomson Multimedia Inc.",
		"RCA RD1080 MP3 Player",
988
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
989 990
		US_FL_FIX_CAPACITY ),

991 992 993 994 995 996
UNUSUAL_DEV(  0x06ca, 0x2003, 0x0100, 0x0100,
		"Newer Technology",
		"uSCSI",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

997 998 999 1000
/* Reported by Adrian Pilchowiec <adi1981@epf.pl> */
UNUSUAL_DEV(  0x071b, 0x3203, 0x0000, 0x0000,
		"RockChip",
		"MP3",
1001
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1002 1003
		US_FL_NO_WP_DETECT | US_FL_MAX_SECTORS_64 |
		US_FL_NO_READ_CAPACITY_16),
1004

1005 1006
/*
 * Reported by Jean-Baptiste Onofre <jb@nanthrax.net>
1007 1008 1009 1010 1011 1012
 * Support the following product :
 *    "Dane-Elec MediaTouch"
 */
UNUSUAL_DEV(  0x071b, 0x32bb, 0x0000, 0x0000,
		"RockChip",
		"MTP",
1013
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1014 1015
		US_FL_NO_WP_DETECT | US_FL_MAX_SECTORS_64),

1016 1017
/*
 * Reported by Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com>
1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029
 * This USB MP3/AVI player device fails and disconnects if more than 128
 * sectors (64kB) are read/written in a single command, and may be present
 * at least in the following products:
 *   "Magnex Digital Video Panel DVP 1800"
 *   "MP4 AIGO 4GB SLOT SD"
 *   "Teclast TL-C260 MP3"
 *   "i.Meizu PMP MP3/MP4"
 *   "Speed MV8 MP4 Audio Player"
 */
UNUSUAL_DEV(  0x071b, 0x3203, 0x0100, 0x0100,
		"RockChip",
		"ROCK MP3",
1030
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1031 1032
		US_FL_MAX_SECTORS_64),

1033 1034 1035 1036
/* Reported by Olivier Blondeau <zeitoun@gmail.com> */
UNUSUAL_DEV(  0x0727, 0x0306, 0x0100, 0x0100,
		"ATMEL",
		"SND1 Storage",
1037
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1038 1039
		US_FL_IGNORE_RESIDUE),

1040 1041
/* Submitted by Roman Hodek <roman@hodek.net> */
UNUSUAL_DEV(  0x0781, 0x0001, 0x0200, 0x0200,
L
Linus Torvalds 已提交
1042 1043
		"Sandisk",
		"ImageMate SDDR-05a",
1044
		USB_SC_SCSI, USB_PR_CB, NULL,
L
Linus Torvalds 已提交
1045 1046
		US_FL_SINGLE_LUN ),

1047 1048 1049
UNUSUAL_DEV(  0x0781, 0x0002, 0x0009, 0x0009,
		"SanDisk Corporation",
		"ImageMate CompactFlash USB",
1050
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1051 1052
		US_FL_FIX_CAPACITY ),

L
Linus Torvalds 已提交
1053 1054 1055
UNUSUAL_DEV(  0x0781, 0x0100, 0x0100, 0x0100,
		"Sandisk",
		"ImageMate SDDR-12",
1056
		USB_SC_SCSI, USB_PR_CB, NULL,
L
Linus Torvalds 已提交
1057 1058 1059
		US_FL_SINGLE_LUN ),

/* Reported by Eero Volotinen <eero@ping-viini.org> */
1060
UNUSUAL_DEV(  0x07ab, 0xfccd, 0x0000, 0x9999,
L
Linus Torvalds 已提交
1061 1062
		"Freecom Technologies",
		"FHD-Classic",
1063
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1064 1065
		US_FL_FIX_CAPACITY),

1066
UNUSUAL_DEV(  0x07af, 0x0004, 0x0100, 0x0133,
L
Linus Torvalds 已提交
1067 1068
		"Microtech",
		"USB-SCSI-DB25",
1069
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
L
Linus Torvalds 已提交
1070 1071
		US_FL_SCM_MULT_TARG ), 

1072
UNUSUAL_DEV(  0x07af, 0x0005, 0x0100, 0x0100,
L
Linus Torvalds 已提交
1073 1074
		"Microtech",
		"USB-SCSI-HD50",
1075
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
1076
		US_FL_SCM_MULT_TARG ),
L
Linus Torvalds 已提交
1077

1078
#ifdef NO_SDDR09
1079 1080 1081
UNUSUAL_DEV(  0x07af, 0x0006, 0x0100, 0x0100,
		"Microtech",
		"CameraMate",
1082
		USB_SC_SCSI, USB_PR_CB, NULL,
1083
		US_FL_SINGLE_LUN ),
L
Linus Torvalds 已提交
1084 1085
#endif

1086 1087
/*
 * Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100
L
Linus Torvalds 已提交
1088 1089 1090 1091 1092 1093 1094 1095
 * Only revision 1.13 tested (same for all of the above devices,
 * based on the Datafab DF-UG-07 chip).  Needed for US_FL_FIX_INQUIRY.
 * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>.
 * See also http://martin.wilck.bei.t-online.de/#kecf .
 */
UNUSUAL_DEV(  0x07c4, 0xa400, 0x0000, 0xffff,
		"Datafab",
		"KECF-USB",
1096
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1097
		US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY ),
L
Linus Torvalds 已提交
1098

1099 1100
/*
 * Reported by Rauch Wolke <rauchwolke@gmx.net>
1101 1102
 * and augmented by binbin <binbinsh@gmail.com> (Bugzilla #12882)
 */
1103 1104 1105
UNUSUAL_DEV(  0x07c4, 0xa4a5, 0x0000, 0xffff,
		"Simple Tech/Datafab",
		"CF+SM Reader",
1106
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1107
		US_FL_IGNORE_RESIDUE | US_FL_MAX_SECTORS_64 ),
1108

1109 1110
/*
 * Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant
L
Linus Torvalds 已提交
1111 1112 1113 1114 1115 1116
 * to the USB storage specification in two ways:
 * - They tell us they are using transport protocol CBI. In reality they
 *   are using transport protocol CB.
 * - They don't like the INQUIRY command. So we must handle this command
 *   of the SCSI layer ourselves.
 * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have
1117 1118 1119
 *   bInterfaceProtocol=0x00 (USB_PR_CBI) while others have 0x01 (USB_PR_CB).
 *   So don't remove the USB_PR_CB override!
 * - Cameras with bcdDevice=0x9009 require the USB_SC_8070 override.
L
Linus Torvalds 已提交
1120 1121 1122 1123
 */
UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999,
		"Casio",
		"QV DigitalCamera",
1124
		USB_SC_8070, USB_PR_CB, NULL,
L
Linus Torvalds 已提交
1125 1126
		US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ),

1127 1128 1129 1130 1131 1132
/* Submitted by Oleksandr Chumachenko <ledest@gmail.com> */
UNUSUAL_DEV( 0x07cf, 0x1167, 0x0100, 0x0100,
		"Casio",
		"EX-N1 DigitalCamera",
		USB_SC_8070, USB_PR_DEVICE, NULL, 0),

L
Linus Torvalds 已提交
1133 1134 1135 1136
/* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/
UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001,
		"Samsung",
		"Digimax 410",
1137
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1138 1139
		US_FL_FIX_INQUIRY),

1140 1141 1142 1143
/* Reported by Luciano Rocha <luciano@eurotux.com> */
UNUSUAL_DEV( 0x0840, 0x0082, 0x0001, 0x0001,
		"Argosy",
		"Storage",
1144
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1145 1146
		US_FL_FIX_CAPACITY),

1147 1148 1149 1150
/* Reported and patched by Nguyen Anh Quynh <aquynh@gmail.com> */
UNUSUAL_DEV( 0x0840, 0x0084, 0x0001, 0x0001,
		"Argosy",
		"Storage",
1151
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1152 1153
		US_FL_FIX_CAPACITY),

1154 1155 1156 1157
/* Reported by Martijn Hijdra <martijn.hijdra@gmail.com> */
UNUSUAL_DEV( 0x0840, 0x0085, 0x0001, 0x0001,
		"Argosy",
		"Storage",
1158
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1159 1160
		US_FL_FIX_CAPACITY),

1161 1162 1163 1164 1165 1166 1167
/* Supplied with some Castlewood ORB removable drives */
UNUSUAL_DEV(  0x084b, 0xa001, 0x0000, 0x9999,
		"Castlewood Systems",
		"USB to SCSI cable",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

1168 1169
/*
 * Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
L
Linus Torvalds 已提交
1170 1171 1172 1173 1174 1175 1176 1177
 * Flag will support Bulk devices which use a standards-violating 32-byte
 * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with
 * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support.
 */

UNUSUAL_DEV(  0x084d, 0x0011, 0x0110, 0x0110,
		"Grandtech",
		"DC2MEGA",
1178
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1179 1180
		US_FL_BULK32),

1181 1182
/*
 * Reported by <ttkspam@free.fr>
1183 1184 1185 1186 1187 1188 1189 1190
 * The device reports a vendor-specific device class, requiring an
 * explicit vendor/product match.
 */
UNUSUAL_DEV(  0x0851, 0x1542, 0x0002, 0x0002,
		"MagicPixel",
		"FW_Omega2",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, 0),

1191 1192
/*
 * Andrew Lunn <andrew@lunn.ch>
1193 1194 1195
 * PanDigital Digital Picture Frame. Does not like ALLOW_MEDIUM_REMOVAL
 * on LUN 4.
 * Note: Vend:Prod clash with "Ltd Maxell WS30 Slim Digital Camera"
1196
 */
1197 1198 1199
UNUSUAL_DEV(  0x0851, 0x1543, 0x0200, 0x0200,
		"PanDigital",
		"Photo Frame",
1200
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1201 1202
		US_FL_NOT_LOCKABLE),

1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214
UNUSUAL_DEV(  0x085a, 0x0026, 0x0100, 0x0133,
		"Xircom",
		"PortGear USB-SCSI (Mac USB Dock)",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

UNUSUAL_DEV(  0x085a, 0x0028, 0x0100, 0x0133,
		"Xircom",
		"PortGear USB to SCSI Converter",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

1215 1216 1217 1218
/* Submitted by Jan De Luyck <lkml@kcore.org> */
UNUSUAL_DEV(  0x08bd, 0x1100, 0x0000, 0x0000,
		"CITIZEN",
		"X1DE-USB",
1219
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1220
		US_FL_SINGLE_LUN),
L
Linus Torvalds 已提交
1221

1222 1223
/*
 * Submitted by Dylan Taft <d13f00l@gmail.com>
1224 1225 1226
 * US_FL_IGNORE_RESIDUE Needed
 */
UNUSUAL_DEV(  0x08ca, 0x3103, 0x0100, 0x0100,
1227 1228
		"AIPTEK",
		"Aiptek USB Keychain MP3 Player",
1229
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1230
		US_FL_IGNORE_RESIDUE),
1231

1232 1233
/*
 * Entry needed for flags. Moreover, all devices with this ID use
L
Linus Torvalds 已提交
1234 1235 1236 1237 1238 1239 1240
 * bulk-only transport, but _some_ falsely report Control/Bulk instead.
 * One example is "Trumpion Digital Research MYMP3".
 * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de>
 */
UNUSUAL_DEV(  0x090a, 0x1001, 0x0100, 0x0100,
		"Trumpion",
		"t33520 USB Flash Card Controller",
1241
		USB_SC_DEVICE, USB_PR_BULK, NULL,
L
Linus Torvalds 已提交
1242 1243
		US_FL_NEED_OVERRIDE ),

1244 1245
/*
 * Reported by Filippo Bardelli <filibard@libero.it>
1246 1247 1248 1249 1250
 * The device reports a subclass of RBC, which is wrong.
 */
UNUSUAL_DEV(  0x090a, 0x1050, 0x0100, 0x0100,
		"Trumpion Microelectronics, Inc.",
		"33520 USB Digital Voice Recorder",
1251
		USB_SC_UFI, USB_PR_DEVICE, NULL,
1252 1253
		0),

L
Linus Torvalds 已提交
1254 1255 1256 1257
/* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */
UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999,
		"Trumpion",
		"MP3 player",
1258
		USB_SC_RBC, USB_PR_BULK, NULL,
L
Linus Torvalds 已提交
1259 1260 1261 1262 1263 1264
		0 ),

/* aeb */
UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff,
		"Feiya",
		"5-in-1 Card Reader",
1265
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1266 1267
		US_FL_FIX_CAPACITY ),

1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279
/*
 * Reported by Icenowy Zheng <icenowy@aosc.io>
 * The SMI SM3350 USB-UFS bridge controller will enter a wrong state
 * that do not process read/write command if a long sense is requested,
 * so force to use 18-byte sense.
 */
UNUSUAL_DEV(  0x090c, 0x3350, 0x0000, 0xffff,
		"SMI",
		"SM3350 UFS-to-USB-Mass-Storage bridge",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BAD_SENSE ),

1280 1281
/*
 * Reported by Paul Hartman <paul.hartman+linux@gmail.com>
A
Alan Stern 已提交
1282 1283 1284 1285 1286 1287 1288 1289 1290
 * This card reader returns "Illegal Request, Logical Block Address
 * Out of Range" for the first READ(10) after a new card is inserted.
 */
UNUSUAL_DEV(  0x090c, 0x6000, 0x0100, 0x0100,
		"Feiya",
		"SD/SDHC Card Reader",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_INITIAL_READ10 ),

1291 1292
/*
 * This Pentax still camera is not conformant
L
Linus Torvalds 已提交
1293 1294 1295 1296 1297 1298 1299
 * to the USB storage specification: -
 * - It does not like the INQUIRY command. So we must handle this command
 *   of the SCSI layer ourselves.
 * Tested on Rev. 10.00 (0x1000)
 * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk>
 */
UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000,
1300 1301
		"Pentax",
		"Optio 2/3/400",
1302
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1303
		US_FL_FIX_INQUIRY ),
L
Linus Torvalds 已提交
1304

1305 1306 1307 1308
/*
 * These are virtual windows driver CDs, which the zd1211rw driver
 * automatically converts into WLAN devices.
 */
1309
UNUSUAL_DEV( 0x0ace, 0x2011, 0x0101, 0x0101,
1310 1311
		"ZyXEL",
		"G-220F USB-WLAN Install",
1312
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1313
		US_FL_IGNORE_DEVICE ),
1314

1315 1316 1317
UNUSUAL_DEV( 0x0ace, 0x20ff, 0x0101, 0x0101,
		"SiteCom",
		"WL-117 USB-WLAN Install",
1318
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1319 1320
		US_FL_IGNORE_DEVICE ),

1321 1322
/*
 * Reported by Dan Williams <dcbw@redhat.com>
1323 1324 1325 1326 1327 1328 1329 1330
 * Option N.V. mobile broadband modems
 * Ignore driver CD mode and force into modem mode by default.
 */

/* iCON 225 */
UNUSUAL_DEV(  0x0af0, 0x6971, 0x0000, 0x9999,
		"Option N.V.",
		"Mass Storage",
1331
		USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init,
1332 1333
		0),

1334 1335
/*
 * Reported by F. Aben <f.aben@option.com>
1336 1337
 * This device (wrongly) has a vendor-specific device descriptor.
 * The entry is needed so usb-storage can bind to it's mass-storage
1338 1339
 * interface as an interface driver
 */
1340 1341 1342
UNUSUAL_DEV( 0x0af0, 0x7401, 0x0000, 0x0000,
		"Option",
		"GI 0401 SD-Card",
1343
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1344 1345
		0 ),

1346 1347
/*
 * Reported by Jan Dumon <j.dumon@option.com>
1348 1349
 * These devices (wrongly) have a vendor-specific device descriptor.
 * These entries are needed so usb-storage can bind to their mass-storage
1350 1351
 * interface as an interface driver
 */
1352 1353 1354
UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0000,
		"Option",
		"GI 0431 SD-Card",
1355
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1356 1357
		0 ),

1358 1359 1360
UNUSUAL_DEV( 0x0af0, 0x7701, 0x0000, 0x0000,
		"Option",
		"GI 0451 SD-Card",
1361
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1362 1363 1364 1365 1366
		0 ),

UNUSUAL_DEV( 0x0af0, 0x7706, 0x0000, 0x0000,
		"Option",
		"GI 0451 SD-Card",
1367
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1368 1369 1370 1371 1372
		0 ),

UNUSUAL_DEV( 0x0af0, 0x7901, 0x0000, 0x0000,
		"Option",
		"GI 0452 SD-Card",
1373
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1374 1375 1376 1377 1378
		0 ),

UNUSUAL_DEV( 0x0af0, 0x7A01, 0x0000, 0x0000,
		"Option",
		"GI 0461 SD-Card",
1379
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1380 1381 1382 1383 1384
		0 ),

UNUSUAL_DEV( 0x0af0, 0x7A05, 0x0000, 0x0000,
		"Option",
		"GI 0461 SD-Card",
1385
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1386 1387 1388 1389 1390
		0 ),

UNUSUAL_DEV( 0x0af0, 0x8300, 0x0000, 0x0000,
		"Option",
		"GI 033x SD-Card",
1391
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1392 1393 1394 1395 1396
		0 ),

UNUSUAL_DEV( 0x0af0, 0x8302, 0x0000, 0x0000,
		"Option",
		"GI 033x SD-Card",
1397
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1398 1399 1400 1401 1402
		0 ),

UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0000,
		"Option",
		"GI 033x SD-Card",
1403
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1404 1405 1406 1407 1408
		0 ),

UNUSUAL_DEV( 0x0af0, 0xc100, 0x0000, 0x0000,
		"Option",
		"GI 070x SD-Card",
1409
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1410 1411 1412 1413 1414
		0 ),

UNUSUAL_DEV( 0x0af0, 0xd057, 0x0000, 0x0000,
		"Option",
		"GI 1505 SD-Card",
1415
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1416 1417 1418 1419 1420
		0 ),

UNUSUAL_DEV( 0x0af0, 0xd058, 0x0000, 0x0000,
		"Option",
		"GI 1509 SD-Card",
1421
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1422 1423 1424 1425 1426
		0 ),

UNUSUAL_DEV( 0x0af0, 0xd157, 0x0000, 0x0000,
		"Option",
		"GI 1515 SD-Card",
1427
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1428 1429 1430 1431 1432
		0 ),

UNUSUAL_DEV( 0x0af0, 0xd257, 0x0000, 0x0000,
		"Option",
		"GI 1215 SD-Card",
1433
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1434 1435 1436 1437 1438
		0 ),

UNUSUAL_DEV( 0x0af0, 0xd357, 0x0000, 0x0000,
		"Option",
		"GI 1505 SD-Card",
1439
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1440 1441
		0 ),

1442 1443 1444 1445 1446 1447
/* Reported by Namjae Jeon <namjae.jeon@samsung.com> */
UNUSUAL_DEV(0x0bc2, 0x2300, 0x0000, 0x9999,
		"Seagate",
		"Portable HDD",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_WRITE_CACHE),

1448 1449 1450 1451
/* Reported by Ben Efros <ben@pc-doctor.com> */
UNUSUAL_DEV( 0x0bc2, 0x3010, 0x0000, 0x0000,
		"Seagate",
		"FreeAgent Pro",
1452
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1453 1454
		US_FL_SANE_SENSE ),

1455 1456 1457 1458 1459 1460 1461
/* Reported by Kris Lindgren <kris.lindgren@gmail.com> */
UNUSUAL_DEV( 0x0bc2, 0x3332, 0x0000, 0x9999,
		"Seagate",
		"External",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_WP_DETECT ),

1462 1463 1464
UNUSUAL_DEV(  0x0d49, 0x7310, 0x0000, 0x9999,
		"Maxtor",
		"USB to SATA",
1465
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1466 1467
		US_FL_SANE_SENSE),

1468 1469 1470 1471 1472 1473 1474
/*
 * Pete Zaitcev <zaitcev@yahoo.com>, bz#164688.
 * The device blatantly ignores LUN and returns 1 in GetMaxLUN.
 */
UNUSUAL_DEV( 0x0c45, 0x1060, 0x0100, 0x0100,
		"Unknown",
		"Unknown",
1475
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1476 1477
		US_FL_SINGLE_LUN ),

L
Linus Torvalds 已提交
1478 1479 1480 1481
/* Submitted by Joris Struyve <joris@struyve.be> */
UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff,
		"Medion",
		"MD 7425",
1482
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1483 1484 1485 1486 1487 1488 1489 1490 1491 1492
		US_FL_FIX_INQUIRY),

/*
 * Entry for Jenoptik JD 5200z3
 *
 * email: car.busse@gmx.de
 */
UNUSUAL_DEV(  0x0d96, 0x5200, 0x0001, 0x0200,
		"Jenoptik",
		"JD 5200 z3",
1493
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
L
Linus Torvalds 已提交
1494

1495 1496 1497 1498
/* Reported by  Jason Johnston <killean@shaw.ca> */
UNUSUAL_DEV(  0x0dc4, 0x0073, 0x0000, 0x0000,
		"Macpower Technology Co.LTD.",
		"USB 2.0 3.5\" DEVICE",
1499
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1500 1501
		US_FL_FIX_CAPACITY),

1502 1503
/*
 * Reported by Lubomir Blaha <tritol@trilogic.cz>
L
Linus Torvalds 已提交
1504 1505 1506 1507 1508 1509 1510
 * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this
 * works for me. Can anybody correct these values? (I able to test corrected
 * version.)
 */
UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff,
		"Netac",
		"USB-CF-Card",
1511
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1512 1513
		US_FL_FIX_INQUIRY ),

1514 1515 1516 1517
/*
 * Reported by Edward Chapman (taken from linux-usb mailing list)
 * Netac OnlyDisk Mini U2CV2 512MB USB 2.0 Flash Drive
 */
1518 1519 1520
UNUSUAL_DEV( 0x0dd8, 0xd202, 0x0000, 0x9999,
		"Netac",
		"USB Flash Disk",
1521
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1522 1523 1524
		US_FL_IGNORE_RESIDUE ),


1525 1526 1527 1528
/*
 * Patch by Stephan Walter <stephan.walter@epfl.ch>
 * I don't know why, but it works...
 */
L
Linus Torvalds 已提交
1529 1530 1531
UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012,
		"WINWARD",
		"Music Disk",
1532
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1533 1534 1535 1536 1537 1538
		US_FL_IGNORE_RESIDUE ),

/* Reported by Ian McConnell <ian at emit.demon.co.uk> */
UNUSUAL_DEV(  0x0dda, 0x0301, 0x0012, 0x0012,
		"PNP_MP3",
		"PNP_MP3 PLAYER",
1539
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1540 1541
		US_FL_IGNORE_RESIDUE ),

1542 1543 1544 1545
/* Reported by Jim McCloskey <mcclosk@ucsc.edu> */
UNUSUAL_DEV( 0x0e21, 0x0520, 0x0100, 0x0100,
		"Cowon Systems",
		"iAUDIO M5",
1546
		USB_SC_DEVICE, USB_PR_BULK, NULL,
1547
		US_FL_NEED_OVERRIDE ),
1548

L
Linus Torvalds 已提交
1549 1550 1551 1552
/* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */
UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300,
		"USB",
		"Solid state disk",
1553
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1554 1555
		US_FL_FIX_INQUIRY ),

1556 1557 1558 1559
/*
 * Submitted by Daniel Drake <dsd@gentoo.org>
 * Reported by dayul on the Gentoo Forums
 */
L
Linus Torvalds 已提交
1560 1561 1562
UNUSUAL_DEV(  0x0ea0, 0x2168, 0x0110, 0x0110,
		"Ours Technology",
		"Flash Disk",
1563
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1564 1565 1566 1567 1568 1569
		US_FL_IGNORE_RESIDUE ),

/* Reported by Rastislav Stanik <rs_kernel@yahoo.com> */
UNUSUAL_DEV(  0x0ea0, 0x6828, 0x0110, 0x0110,
		"USB",
		"Flash Disk",
1570
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1571 1572
		US_FL_IGNORE_RESIDUE ),

1573 1574 1575 1576
/*
 * Reported by Benjamin Schiller <sbenni@gmx.de>
 * It is also sold by Easylite as DJ 20
 */
1577 1578 1579
UNUSUAL_DEV(  0x0ed1, 0x7636, 0x0103, 0x0103,
		"Typhoon",
		"My DJ 1820",
1580
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1581 1582
		US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64),

1583 1584
/*
 * Patch by Leonid Petrov mail at lpetrov.net
1585 1586 1587 1588 1589 1590 1591
 * Reported by Robert Spitzenpfeil <robert@spitzenpfeil.org>
 * http://www.qbik.ch/usb/devices/showdev.php?id=1705
 * Updated to 103 device by MJ Ray mjr at phonecoop.coop
 */
UNUSUAL_DEV(  0x0f19, 0x0103, 0x0100, 0x0100,
		"Oracom Co., Ltd",
		"ORC-200M",
1592
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1593 1594
		US_FL_IGNORE_RESIDUE ),

1595 1596
/*
 * David Kuehling <dvdkhlng@gmx.de>:
1597 1598 1599 1600 1601 1602
 * for MP3-Player AVOX WSX-300ER (bought in Japan).  Reports lots of SCSI
 * errors when trying to write.
 */
UNUSUAL_DEV(  0x0f19, 0x0105, 0x0100, 0x0100,
		"C-MEX",
		"A-VOX",
1603
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1604 1605
		US_FL_IGNORE_RESIDUE ),

1606 1607 1608 1609 1610 1611 1612
/* Submitted by Nick Holloway */
UNUSUAL_DEV( 0x0f88, 0x042e, 0x0100, 0x0100,
		"VTech",
		"Kidizoom",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_FIX_CAPACITY ),

1613 1614 1615 1616 1617 1618 1619
/* Reported by Moritz Moeller-Herrmann <moritz-kernel@moeller-herrmann.de> */
UNUSUAL_DEV(  0x0fca, 0x8004, 0x0201, 0x0201,
		"Research In Motion",
		"BlackBerry Bold 9000",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_MAX_SECTORS_64 ),

L
Linus Torvalds 已提交
1620 1621 1622 1623
/* Reported by Michael Stattmann <michael@stattmann.com> */
UNUSUAL_DEV(  0x0fce, 0xd008, 0x0000, 0x0000,
		"Sony Ericsson",
		"V800-Vodafone 802",
1624
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
1625 1626
		US_FL_NO_WP_DETECT ),

1627 1628 1629 1630
/* Reported by The Solutor <thesolutor@gmail.com> */
UNUSUAL_DEV(  0x0fce, 0xd0e1, 0x0000, 0x0000,
		"Sony Ericsson",
		"MD400",
1631
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1632 1633
		US_FL_IGNORE_DEVICE),

1634 1635 1636 1637
/*
 * Reported by Jan Mate <mate@fiit.stuba.sk>
 * and by Soeren Sonnenburg <kernel@nn7.de>
 */
1638 1639 1640
UNUSUAL_DEV(  0x0fce, 0xe030, 0x0000, 0x0000,
		"Sony Ericsson",
		"P990i",
1641
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1642
		US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
1643

1644 1645 1646 1647
/* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */
UNUSUAL_DEV(  0x0fce, 0xe031, 0x0000, 0x0000,
		"Sony Ericsson",
		"M600i",
1648
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1649
		US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
1650

1651 1652 1653 1654
/* Reported by Ricardo Barberis <ricardo@dattatec.com> */
UNUSUAL_DEV(  0x0fce, 0xe092, 0x0000, 0x0000,
		"Sony Ericsson",
		"P1i",
1655
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1656 1657
		US_FL_IGNORE_RESIDUE ),

1658 1659
/*
 * Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
L
Linus Torvalds 已提交
1660 1661
 * Tested on hardware version 1.10.
 * Entry is needed only for the initializer function override.
1662 1663
 * Devices with bcd > 110 seem to not need it while those
 * with bcd < 110 appear to need it.
L
Linus Torvalds 已提交
1664
 */
1665
UNUSUAL_DEV(  0x1019, 0x0c55, 0x0000, 0x0110,
L
Linus Torvalds 已提交
1666 1667
		"Desknote",
		"UCR-61S2B",
1668
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_ucr61s2b_init,
L
Linus Torvalds 已提交
1669 1670
		0 ),

1671 1672 1673
UNUSUAL_DEV(  0x1058, 0x0704, 0x0000, 0x9999,
		"Western Digital",
		"External HDD",
1674
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1675 1676
		US_FL_SANE_SENSE),

1677 1678 1679 1680 1681 1682
/* Reported by Namjae Jeon <namjae.jeon@samsung.com> */
UNUSUAL_DEV(0x1058, 0x070a, 0x0000, 0x9999,
		"Western Digital",
		"My Passport HDD",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_WRITE_CACHE),

1683 1684
/*
 * Reported by Fabio Venturi <f.venturi@tdnet.it>
1685 1686 1687 1688 1689
 * The device reports a vendor-specific bDeviceClass.
 */
UNUSUAL_DEV(  0x10d6, 0x2200, 0x0100, 0x0100,
		"Actions Semiconductor",
		"Mtp device",
1690
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1691 1692
		0),

1693 1694
/*
 * Reported by Pascal Terjan <pterjan@mandriva.com>
1695 1696 1697 1698 1699
 * Ignore driver CD mode and force into modem mode by default.
 */
UNUSUAL_DEV(  0x1186, 0x3e04, 0x0000, 0x0000,
           "D-Link",
           "USB Mass Storage",
1700
           USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, US_FL_IGNORE_DEVICE),
1701

1702 1703
/*
 * Reported by Kevin Lloyd <linux@sierrawireless.com>
1704 1705 1706 1707 1708 1709 1710
 * Entry is needed for the initializer function override,
 * which instructs the device to load as a modem
 * device.
 */
UNUSUAL_DEV(  0x1199, 0x0fff, 0x0000, 0x9999,
		"Sierra Wireless",
		"USB MMC Storage",
1711
		USB_SC_DEVICE, USB_PR_DEVICE, sierra_ms_init,
1712
		0),
1713

1714 1715
/*
 * Reported by Jaco Kroon <jaco@kroon.co.za>
1716 1717 1718 1719 1720 1721
 * The usb-storage module found on the Digitech GNX4 (and supposedly other
 * devices) misbehaves and causes a bunch of invalid I/O errors.
 */
UNUSUAL_DEV(  0x1210, 0x0003, 0x0100, 0x0100,
		"Digitech HMG",
		"DigiTech Mass Storage",
1722
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1723 1724
		US_FL_IGNORE_RESIDUE ),

1725 1726
/*
 * Reported by fangxiaozhi <huananhu@huawei.com>
1727
 * This brings the HUAWEI data card devices into multi-port mode
1728
 */
1729
UNUSUAL_DEV(  0x12d1, 0x1001, 0x0000, 0x0000,
1730 1731
		"HUAWEI MOBILE",
		"Mass Storage",
1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1003, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1004, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1401, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1402, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1403, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1404, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1405, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1406, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1407, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1408, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1409, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140A, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140B, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140C, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140D, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140E, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x140F, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1410, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1411, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1412, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1413, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1414, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1415, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1416, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1417, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1418, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1419, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141A, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141B, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141C, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141D, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141E, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x141F, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1420, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1421, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1422, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1423, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1424, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1425, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1426, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1427, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1428, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1429, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142A, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142B, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142C, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142D, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142E, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x142F, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1430, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1431, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1432, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1433, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1434, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1435, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1436, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1437, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1438, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x1439, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143A, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143B, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143C, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143D, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143E, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV(  0x12d1, 0x143F, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
2058
		0),
2059

2060 2061 2062 2063
/* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,
		"Minolta",
		"Dimage Z10",
2064
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2065 2066
		0 ),

L
Linus Torvalds 已提交
2067 2068 2069 2070
/* Reported by Kotrla Vitezslav <kotrla@ceb.cz> */
UNUSUAL_DEV(  0x1370, 0x6828, 0x0110, 0x0110,
		"SWISSBIT",
		"Black Silver",
2071
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
2072 2073
		US_FL_IGNORE_RESIDUE ),

2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087
/*
 * Reported by Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
 * The INIC-3619 bridge is used in the StarTech SLSODDU33B
 * SATA-USB enclosure for slimline optical drives.
 *
 * The quirk enables MakeMKV to properly exchange keys with
 * an installed BD drive.
 */
UNUSUAL_DEV(  0x13fd, 0x3609, 0x0209, 0x0209,
		"Initio Corporation",
		"INIC-3619",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_IGNORE_RESIDUE ),

2088 2089 2090 2091 2092 2093 2094
/* Reported by Qinglin Ye <yestyle@gmail.com> */
UNUSUAL_DEV(  0x13fe, 0x3600, 0x0100, 0x0100,
		"Kingston",
		"DT 101 G2",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BULK_IGNORE_TAG ),

2095 2096 2097 2098
/* Reported by Francesco Foresti <frafore@tiscali.it> */
UNUSUAL_DEV(  0x14cd, 0x6600, 0x0201, 0x0201,
		"Super Top",
		"IDE DEVICE",
2099
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2100 2101
		US_FL_IGNORE_RESIDUE ),

2102
/* Reported by Michael Büsch <m@bues.ch> */
2103
UNUSUAL_DEV(  0x152d, 0x0567, 0x0114, 0x0116,
2104 2105 2106 2107 2108
		"JMicron",
		"USB to ATA/ATAPI Bridge",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BROKEN_FUA ),

2109 2110 2111 2112 2113 2114 2115
/* 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),

2116 2117
/*
 * Reported by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2118 2119 2120
 * JMicron responds to USN and several other SCSI ioctls with a
 * residue that causes subsequent I/O requests to fail.  */
UNUSUAL_DEV(  0x152d, 0x2329, 0x0100, 0x0100,
2121 2122
		"JMicron",
		"USB to ATA/ATAPI Bridge",
2123
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2124
		US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ),
2125

2126 2127 2128 2129 2130 2131 2132
/* Reported by Dmitry Nezhevenko <dion@dion.org.ua> */
UNUSUAL_DEV(  0x152d, 0x2566, 0x0114, 0x0114,
		"JMicron",
		"USB to ATA/ATAPI Bridge",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BROKEN_FUA ),

2133 2134 2135 2136 2137 2138 2139
/* Reported by Teijo Kinnunen <teijo.kinnunen@code-q.fi> */
UNUSUAL_DEV(  0x152d, 0x2567, 0x0117, 0x0117,
		"JMicron",
		"USB to ATA/ATAPI Bridge",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BROKEN_FUA ),

2140 2141 2142 2143 2144 2145 2146
/* Reported-by George Cherian <george.cherian@cavium.com> */
UNUSUAL_DEV(0x152d, 0x9561, 0x0000, 0x9999,
		"JMicron",
		"JMS56x",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_REPORT_OPCODES),

2147 2148
/*
 * Entrega Technologies U1-SC25 (later Xircom PortGear PGSCSI)
2149 2150 2151 2152 2153 2154 2155
 * and Mac USB Dock USB-SCSI */
UNUSUAL_DEV(  0x1645, 0x0007, 0x0100, 0x0133,
		"Entrega Technologies",
		"USB to SCSI Converter",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

2156 2157 2158 2159
/*
 * Reported by Robert Schedel <r.schedel@yahoo.de>
 * Note: this is a 'super top' device like the above 14cd/6600 device
 */
2160 2161 2162
UNUSUAL_DEV(  0x1652, 0x6600, 0x0201, 0x0201,
		"Teac",
		"HD-35PUK-B",
2163
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2164 2165
		US_FL_IGNORE_RESIDUE ),

2166 2167 2168 2169 2170 2171 2172
/* Reported by Oliver Neukum <oneukum@suse.com> */
UNUSUAL_DEV(  0x174c, 0x55aa, 0x0100, 0x0100,
		"ASMedia",
		"AS2105",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NEEDS_CAP16),

2173 2174 2175 2176 2177 2178 2179
/* Reported by Jesse Feddema <jdfeddema@gmail.com> */
UNUSUAL_DEV(  0x177f, 0x0400, 0x0000, 0x0000,
		"Yarvik",
		"PMP400",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ),

2180 2181 2182 2183 2184 2185
UNUSUAL_DEV(  0x1822, 0x0001, 0x0000, 0x9999,
		"Ariston Technologies",
		"iConnect USB to SCSI adapter",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

2186 2187
/*
 * Reported by Hans de Goede <hdegoede@redhat.com>
2188 2189
 * These Appotech controllers are found in Picture Frames, they provide a
 * (buggy) emulation of a cdrom drive which contains the windows software
2190 2191
 * Uploading of pictures happens over the corresponding /dev/sg device.
 */
2192 2193 2194
UNUSUAL_DEV( 0x1908, 0x1315, 0x0000, 0x0000,
		"BUILDWIN",
		"Photo Frame",
2195
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2196 2197 2198 2199
		US_FL_BAD_SENSE ),
UNUSUAL_DEV( 0x1908, 0x1320, 0x0000, 0x0000,
		"BUILDWIN",
		"Photo Frame",
2200
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2201
		US_FL_BAD_SENSE ),
2202 2203 2204 2205 2206
UNUSUAL_DEV( 0x1908, 0x3335, 0x0200, 0x0200,
		"BUILDWIN",
		"Photo Frame",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_READ_DISC_INFO ),
2207

2208 2209
/*
 * Reported by Oliver Neukum <oneukum@suse.com>
2210 2211 2212 2213
 * This device morphes spontaneously into another device if the access
 * pattern of Windows isn't followed. Thus writable media would be dirty
 * if the initial instance is used. So the device is limited to its
 * virtual CD.
2214 2215
 * And yes, the concept that BCD goes up to 9 is not heeded
 */
2216 2217 2218 2219 2220 2221
UNUSUAL_DEV( 0x19d2, 0x1225, 0x0000, 0xffff,
		"ZTE,Incorporated",
		"ZTE WCDMA Technologies MSM",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_SINGLE_LUN ),

2222 2223
/*
 * Reported by Sven Geggus <sven-usbst@geggus.net>
A
Alan Stern 已提交
2224 2225 2226 2227 2228 2229 2230 2231
 * This encrypted pen drive returns bogus data for the initial READ(10).
 */
UNUSUAL_DEV(  0x1b1c, 0x1ab5, 0x0200, 0x0200,
		"Corsair",
		"Padlock v2",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_INITIAL_READ10 ),

2232 2233
/*
 * Reported by Hans de Goede <hdegoede@redhat.com>
2234 2235 2236 2237 2238 2239 2240 2241 2242 2243
 * These are mini projectors using USB for both power and video data transport
 * The usb-storage interface is a virtual windows driver CD, which the gm12u320
 * driver automatically converts into framebuffer & kms dri device nodes.
 */
UNUSUAL_DEV( 0x1de1, 0xc102, 0x0000, 0xffff,
		"Grain-media Technology Corp.",
		"USB3.0 Device GM12U320",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_IGNORE_DEVICE ),

2244 2245
/*
 * Patch by Richard Schütz <r.schtz@t-online.de>
2246
 * This external hard drive enclosure uses a JMicron chip which
2247 2248
 * needs the US_FL_IGNORE_RESIDUE flag to work properly.
 */
2249 2250 2251 2252 2253 2254
UNUSUAL_DEV(  0x1e68, 0x001b, 0x0000, 0x0000,
		"TrekStor GmbH & Co. KG",
		"DataStation maxi g.u",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ),

2255 2256 2257 2258 2259 2260 2261
/* Reported by Jasper Mackenzie <scarletpimpernal@hotmail.com> */
UNUSUAL_DEV( 0x1e74, 0x4621, 0x0000, 0x0000,
		"Coby Electronics",
		"MP3 Player",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ),

2262 2263 2264 2265 2266 2267 2268
/* Supplied with some Castlewood ORB removable drives */
UNUSUAL_DEV(  0x2027, 0xa001, 0x0000, 0x9999,
		"Double-H Technology",
		"USB to SCSI Intelligent Cable",
		USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
		US_FL_SCM_MULT_TARG ),

2269 2270 2271
UNUSUAL_DEV( 0x2116, 0x0320, 0x0001, 0x0001,
		"ST",
		"2A",
2272
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2273 2274
		US_FL_FIX_CAPACITY),

2275 2276
/*
 * patch submitted by Davide Perini <perini.davide@dpsoftware.org>
2277 2278 2279 2280 2281
 * and Renato Perini <rperini@email.it>
 */
UNUSUAL_DEV(  0x22b8, 0x3010, 0x0001, 0x0001,
		"Motorola",
		"RAZR V3x",
2282
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2283 2284
		US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),

2285 2286 2287 2288 2289 2290 2291 2292
/*
 * Patch by Constantin Baranov <const@tltsu.ru>
 * Report by Andreas Koenecke.
 * Motorola ROKR Z6.
 */
UNUSUAL_DEV(  0x22b8, 0x6426, 0x0101, 0x0101,
		"Motorola",
		"MSnc.",
2293
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2294 2295
		US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),

L
Linus Torvalds 已提交
2296 2297 2298 2299
/* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */
UNUSUAL_DEV(  0x2735, 0x100b, 0x0000, 0x9999,
		"MPIO",
		"HS200",
2300
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
L
Linus Torvalds 已提交
2301 2302
		US_FL_GO_SLOW ),

2303 2304 2305 2306 2307 2308 2309
/* Reported-by: Tim Anderson <tsa@biglakesoftware.com> */
UNUSUAL_DEV(  0x2ca3, 0x0031, 0x0000, 0x9999,
		"DJI",
		"CineSSD",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NO_ATA_1X),

2310 2311
/*
 * Reported by Frederic Marchal <frederic.marchal@wowcompany.com>
2312 2313 2314 2315 2316
 * Mio Moov 330
 */
UNUSUAL_DEV(  0x3340, 0xffff, 0x0000, 0x0000,
		"Mitac",
		"Mio DigiWalker USB Sync",
2317
		USB_SC_DEVICE,USB_PR_DEVICE,NULL,
2318 2319
		US_FL_MAX_SECTORS_64 ),

2320 2321 2322 2323
/* Reported by Andrey Rahmatullin <wrar@altlinux.org> */
UNUSUAL_DEV(  0x4102, 0x1020, 0x0100,  0x0100,
		"iRiver",
		"MP3 T10",
2324
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2325 2326
		US_FL_IGNORE_RESIDUE ),

2327 2328 2329 2330
/* Reported by Sergey Pinaev <dfo@antex.ru> */
UNUSUAL_DEV(  0x4102, 0x1059, 0x0000,  0x0000,
               "iRiver",
               "P7K",
2331
               USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2332 2333
               US_FL_MAX_SECTORS_64 ),

2334
/*
2335
 * David Härdeman <david@2gen.com>
2336 2337 2338 2339 2340
 * The key makes the SCSI stack print confusing (but harmless) messages
 */
UNUSUAL_DEV(  0x4146, 0xba01, 0x0100, 0x0100,
		"Iomega",
		"Micro Mini 1GB",
2341
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
2342

2343 2344 2345 2346 2347 2348 2349 2350 2351
/* "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),

2352 2353 2354 2355 2356 2357 2358 2359 2360 2361
/*
 * Nick Bowler <nbowler@elliptictech.com>
 * SCSI stack spams (otherwise harmless) error messages.
 */
UNUSUAL_DEV(  0xc251, 0x4003, 0x0100, 0x0100,
		"Keil Software, Inc.",
		"V2M MotherBoard",
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
		US_FL_NOT_LOCKABLE),

2362 2363 2364 2365
/* Reported by Andrew Simmons <andrew.simmons@gmail.com> */
UNUSUAL_DEV(  0xed06, 0x4500, 0x0001, 0x0001,
		"DataStor",
		"USB4500 FW1.04",
2366
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
2367
		US_FL_CAPACITY_HEURISTICS),
2368

2369 2370 2371 2372
/* Reported by Alessio Treglia <quadrispro@ubuntu.com> */
UNUSUAL_DEV( 0xed10, 0x7636, 0x0001, 0x0001,
		"TGE",
		"Digital MP3 Audio Player",
2373
		USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
2374

2375 2376 2377 2378 2379
/* Unusual uas devices */
#if IS_ENABLED(CONFIG_USB_UAS)
#include "unusual_uas.h"
#endif

2380
/* Control/Bulk transport for all SubClass values */
S
Sebastian Andrzej Siewior 已提交
2381 2382 2383 2384 2385 2386
USUAL_DEV(USB_SC_RBC, USB_PR_CB),
USUAL_DEV(USB_SC_8020, USB_PR_CB),
USUAL_DEV(USB_SC_QIC, USB_PR_CB),
USUAL_DEV(USB_SC_UFI, USB_PR_CB),
USUAL_DEV(USB_SC_8070, USB_PR_CB),
USUAL_DEV(USB_SC_SCSI, USB_PR_CB),
2387 2388

/* Control/Bulk/Interrupt transport for all SubClass values */
S
Sebastian Andrzej Siewior 已提交
2389 2390 2391 2392 2393 2394
USUAL_DEV(USB_SC_RBC, USB_PR_CBI),
USUAL_DEV(USB_SC_8020, USB_PR_CBI),
USUAL_DEV(USB_SC_QIC, USB_PR_CBI),
USUAL_DEV(USB_SC_UFI, USB_PR_CBI),
USUAL_DEV(USB_SC_8070, USB_PR_CBI),
USUAL_DEV(USB_SC_SCSI, USB_PR_CBI),
2395 2396

/* Bulk-only transport for all SubClass values */
S
Sebastian Andrzej Siewior 已提交
2397 2398 2399 2400 2401 2402
USUAL_DEV(USB_SC_RBC, USB_PR_BULK),
USUAL_DEV(USB_SC_8020, USB_PR_BULK),
USUAL_DEV(USB_SC_QIC, USB_PR_BULK),
USUAL_DEV(USB_SC_UFI, USB_PR_BULK),
USUAL_DEV(USB_SC_8070, USB_PR_BULK),
USUAL_DEV(USB_SC_SCSI, USB_PR_BULK),