original comment: +Wilson03172004,marked due to this pci host does not support MWI
[linux-2.4.git] / drivers / usb / storage / unusual_devs.h
1 /* Driver for USB Mass Storage compliant devices
2  * Ununsual Devices File
3  *
4  * $Id: unusual_devs.h,v 1.32 2002/02/25 02:41:24 mdharm Exp $
5  *
6  * Current development and maintenance by:
7  *   (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
8  *
9  * Initial work by:
10  *   (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
11  *
12  * Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more
13  * information about this driver.
14  *
15  * This program is free software; you can redistribute it and/or modify it
16  * under the terms of the GNU General Public License as published by the
17  * Free Software Foundation; either version 2, or (at your option) any
18  * later version.
19  *
20  * This program is distributed in the hope that it will be useful, but
21  * WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License along
26  * with this program; if not, write to the Free Software Foundation, Inc.,
27  * 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29
30 /* IMPORTANT NOTE: This file must be included in another file which does
31  * the following thing for it to work:
32  * The macro UNUSUAL_DEV() must be defined before this file is included
33  */
34 #include <linux/config.h>
35
36 /* If you edit this file, please try to keep it sorted first by VendorID,
37  * then by ProductID.
38  *
39  * If you want to add an entry for this file, please send the following
40  * to greg@kroah.com:
41  *      - patch that adds the entry for your device which includes your
42  *        email address right above the entry.
43  *      - a copy of /proc/bus/usb/devices with your device plugged in
44  *        running with this patch.
45  *
46  */
47
48 UNUSUAL_DEV(  0x03ee, 0x0000, 0x0000, 0x0245, 
49                 "Mitsumi",
50                 "CD-R/RW Drive",
51                 US_SC_8020, US_PR_CBI, NULL, 0), 
52
53 UNUSUAL_DEV(  0x03ee, 0x6901, 0x0000, 0x0100,
54                 "Mitsumi",
55                 "USB FDD",
56                 US_SC_DEVICE, US_PR_DEVICE, NULL,
57                 US_FL_SINGLE_LUN ),
58
59 UNUSUAL_DEV(  0x03f0, 0x0107, 0x0200, 0x0200, 
60                 "HP",
61                 "CD-Writer+",
62                 US_SC_8070, US_PR_CB, NULL, 0), 
63
64 #ifdef CONFIG_USB_STORAGE_HP8200e
65 UNUSUAL_DEV(  0x03f0, 0x0207, 0x0001, 0x0001, 
66                 "HP",
67                 "CD-Writer+ 8200e",
68                 US_SC_8070, US_PR_SCM_ATAPI, init_8200e, 0), 
69
70 UNUSUAL_DEV(  0x03f0, 0x0307, 0x0001, 0x0001, 
71                 "HP",
72                 "CD-Writer+ CD-4e",
73                 US_SC_8070, US_PR_SCM_ATAPI, init_8200e, 0), 
74 #endif
75
76 /* Deduced by Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
77  * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message
78  * always fails and confuses drive.
79  */
80 UNUSUAL_DEV(  0x0411, 0x001c, 0x0113, 0x0113,
81                 "Buffalo",
82                 "DUB-P40G HDD",
83                 US_SC_DEVICE, US_PR_DEVICE, NULL,
84                 US_FL_FIX_INQUIRY ),
85
86 #ifdef CONFIG_USB_STORAGE_DPCM
87 UNUSUAL_DEV(  0x0436, 0x0005, 0x0100, 0x0100,
88                 "Microtech",
89                 "CameraMate (DPCM_USB)",
90                 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ),
91 #endif
92
93 /* Patch submitted by Philipp Friedrich <philipp@void.at> */
94 UNUSUAL_DEV(  0x0482, 0x0100, 0x0100, 0x0100,
95                 "Kyocera",
96                 "Finecam S3x",
97                 US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY),
98
99 /* Patch submitted by Philipp Friedrich <philipp@void.at> */
100 UNUSUAL_DEV(  0x0482, 0x0101, 0x0100, 0x0100,
101                 "Kyocera",
102                 "Finecam S4",
103                 US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY),
104
105 /* Patch submitted by Stephane Galles <stephane.galles@free.fr> */
106 UNUSUAL_DEV(  0x0482, 0x0103, 0x0100, 0x0100,
107                 "Kyocera",
108                 "Finecam S5",
109                 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
110
111 /* Reported by Paul Stewart <stewart@wetlogic.net>
112  * This entry is needed because the device reports Sub=ff */
113 UNUSUAL_DEV(  0x04a4, 0x0004, 0x0001, 0x0001,
114                 "Hitachi",
115                 "DVD-CAM DZ-MV100A Camcorder",
116                 US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN),
117
118 /* Reported by Khalid Aziz <khalid@gonehiking.org>
119  * This entry is needed because the device reports Sub=ff */
120 UNUSUAL_DEV(  0x04b8, 0x0602, 0x0110, 0x0110,
121                 "Epson",
122                 "785EPX Storage",
123                 US_SC_SCSI, US_PR_BULK, NULL, US_FL_SINGLE_LUN),
124
125 UNUSUAL_DEV(  0x04cb, 0x0100, 0x0000, 0x2210,
126                 "Fujifilm",
127                 "FinePix 1400Zoom",
128                 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
129
130 /* Reported by Peter Wächtler <pwaechtler@loewe-komp.de>
131  * The device needs the flags only.
132  */
133 UNUSUAL_DEV(  0x04ce, 0x0002, 0x0074, 0x0074,
134                 "ScanLogic",
135                 "SL11R-IDE",
136                 US_SC_DEVICE, US_PR_DEVICE, NULL,
137                 US_FL_FIX_INQUIRY),
138
139 /* Reported by Kriston Fincher <kriston@airmail.net>
140  * Patch submitted by Sean Millichamp <sean@bruenor.org>
141  * This is to support the Panasonic PalmCam PV-SD4090
142  * This entry is needed because the device reports Sub=ff 
143  */
144 UNUSUAL_DEV(  0x04da, 0x0901, 0x0100, 0x0200,
145                 "Panasonic",
146                 "LS-120 Camera",
147                 US_SC_UFI, US_PR_CBI, NULL, 0),
148
149 /* From Yukihiro Nakai, via zaitcev@yahoo.com.
150  * This is needed for CB instead of CBI */
151 UNUSUAL_DEV(  0x04da, 0x0d05, 0x0000, 0x0000,
152                 "Sharp CE-CW05",
153                 "CD-R/RW Drive",
154                 US_SC_8070, US_PR_CB, NULL, 0),
155
156 /* Reported by Adriaan Penning <a.penning@luon.net>
157  * Note that these cameras report "Medium not present" after
158  * ALLOW_MEDIUM_REMOVAL, so they also need to be marked
159  * NOT_LOCKABLE in the SCSI blacklist (and the vendor is MATSHITA). */
160 UNUSUAL_DEV(  0x04da, 0x2372, 0x0000, 0x9999,
161                 "Panasonic",
162                 "DMC-LCx Camera",
163                 US_SC_DEVICE, US_PR_DEVICE, NULL,
164                 US_FL_FIX_CAPACITY ),
165
166 /* Most of the following entries were developed with the help of
167  * Shuttle/SCM directly.
168  */
169 UNUSUAL_DEV(  0x04e6, 0x0001, 0x0200, 0x0200, 
170                 "Matshita",
171                 "LS-120",
172                 US_SC_8020, US_PR_CB, NULL, 0),
173
174 UNUSUAL_DEV(  0x04e6, 0x0002, 0x0100, 0x0100, 
175                 "Shuttle",
176                 "eUSCSI Bridge",
177                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 
178                 US_FL_SCM_MULT_TARG ), 
179
180 #ifdef CONFIG_USB_STORAGE_SDDR09
181 UNUSUAL_DEV(  0x04e6, 0x0003, 0x0000, 0x9999, 
182                 "Sandisk",
183                 "ImageMate SDDR09",
184                 US_SC_SCSI, US_PR_EUSB_SDDR09, NULL,
185                 US_FL_SINGLE_LUN ),
186
187 /* This entry is from Andries.Brouwer@cwi.nl */
188 UNUSUAL_DEV(  0x04e6, 0x0005, 0x0100, 0x0208,
189                 "SCM Microsystems",
190                 "eUSB SmartMedia / CompactFlash Adapter",
191                 US_SC_SCSI, US_PR_DPCM_USB, sddr09_init, 
192                 0), 
193 #endif
194
195 UNUSUAL_DEV(  0x04e6, 0x0006, 0x0100, 0x0205, 
196                 "Shuttle",
197                 "eUSB MMC Adapter",
198                 US_SC_SCSI, US_PR_DEVICE, NULL, 
199                 US_FL_SINGLE_LUN), 
200
201 UNUSUAL_DEV(  0x04e6, 0x0007, 0x0100, 0x0200, 
202                 "Sony",
203                 "Hifd",
204                 US_SC_SCSI, US_PR_CB, NULL, 
205                 US_FL_SINGLE_LUN), 
206
207 UNUSUAL_DEV(  0x04e6, 0x0009, 0x0200, 0x0200, 
208                 "Shuttle",
209                 "eUSB ATA/ATAPI Adapter",
210                 US_SC_8020, US_PR_CB, NULL, 0),
211
212 UNUSUAL_DEV(  0x04e6, 0x000a, 0x0200, 0x0200, 
213                 "Shuttle",
214                 "eUSB CompactFlash Adapter",
215                 US_SC_8020, US_PR_CB, NULL, 0),
216
217 UNUSUAL_DEV(  0x04e6, 0x000B, 0x0100, 0x0100, 
218                 "Shuttle",
219                 "eUSCSI Bridge",
220                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 
221                 US_FL_SCM_MULT_TARG ), 
222
223 UNUSUAL_DEV(  0x04e6, 0x000C, 0x0100, 0x0100, 
224                 "Shuttle",
225                 "eUSCSI Bridge",
226                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 
227                 US_FL_SCM_MULT_TARG ), 
228
229 UNUSUAL_DEV(  0x04e6, 0x0101, 0x0200, 0x0200, 
230                 "Shuttle",
231                 "CD-RW Device",
232                 US_SC_8020, US_PR_CB, NULL, 0),
233
234 /* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */
235 UNUSUAL_DEV(  0x050d, 0x0115, 0x0133, 0x0133,
236                 "Belkin",
237                 "USB SCSI Adaptor",
238                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init,
239                 US_FL_SCM_MULT_TARG ),
240
241 /* Iomega Clik! Drive 
242  * Reported by David Chatenay <dchatenay@hotmail.com>
243  * The reason this is needed is not fully known.
244  */
245 UNUSUAL_DEV(  0x0525, 0xa140, 0x0100, 0x0100,
246                 "Iomega",
247                 "USB Clik! 40",
248                 US_SC_8070, US_PR_BULK, NULL,
249                 US_FL_FIX_INQUIRY ),
250
251 /* This entry is needed because the device reports Sub=ff */
252 UNUSUAL_DEV(  0x054c, 0x0010, 0x0106, 0x0450, 
253                 "Sony",
254                 "DSC-S30/S70/S75/505V/F505/F707/F717/P8", 
255                 US_SC_SCSI, US_PR_DEVICE, NULL,
256                 US_FL_SINGLE_LUN | US_FL_MODE_XLATE ),
257
258 /* Reported by wim@geeks.nl */
259 UNUSUAL_DEV(  0x054c, 0x0025, 0x0100, 0x0100, 
260                 "Sony",
261                 "Memorystick NW-MS7",
262                 US_SC_DEVICE, US_PR_DEVICE, NULL,
263                 US_FL_SINGLE_LUN ),
264
265 #ifdef CONFIG_USB_STORAGE_ISD200
266 UNUSUAL_DEV(  0x054c, 0x002b, 0x0100, 0x0110,
267                 "Sony",
268                 "Portable USB Harddrive V2",
269                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
270                 0 ),
271 #endif
272
273 UNUSUAL_DEV(  0x054c, 0x002d, 0x0100, 0x0100, 
274                 "Sony",
275                 "Memorystick MSAC-US1",
276                 US_SC_DEVICE, US_PR_DEVICE, NULL,
277                 US_FL_SINGLE_LUN ),
278
279 /* Submitted by Klaus Mueller <k.mueller@intershop.de> */
280 UNUSUAL_DEV(  0x054c, 0x002e, 0x0106, 0x0310, 
281                 "Sony",
282                 "Handycam",
283                 US_SC_SCSI, US_PR_DEVICE, NULL,
284                 US_FL_SINGLE_LUN | US_FL_MODE_XLATE),
285
286 /* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */
287 UNUSUAL_DEV(  0x054c, 0x002e, 0x0500, 0x0500, 
288                 "Sony",
289                 "Handycam HC-85",
290                 US_SC_UFI, US_PR_DEVICE, NULL,
291                 US_FL_SINGLE_LUN | US_FL_MODE_XLATE),
292
293 UNUSUAL_DEV(  0x054c, 0x0032, 0x0000, 0x9999,
294                 "Sony",
295                 "Memorystick MSC-U01N",
296                 US_SC_DEVICE, US_PR_DEVICE, NULL,
297                 US_FL_SINGLE_LUN ),
298
299 /* Submitted by Michal Mlotek <mlotek@foobar.pl> */
300 UNUSUAL_DEV(  0x054c, 0x0058, 0x0000, 0x9999,
301                 "Sony",
302                 "PEG N760c Memorystick",
303                 US_SC_DEVICE, US_PR_DEVICE, NULL,
304                 US_FL_FIX_INQUIRY ),
305                 
306 UNUSUAL_DEV(  0x054c, 0x0069, 0x0000, 0x9999,
307                 "Sony",
308                 "Memorystick MSC-U03",
309                 US_SC_UFI, US_PR_CB, NULL,
310                 US_FL_SINGLE_LUN ),
311
312 /* Submitted by Nathan Babb <nathan@lexi.com> */
313 UNUSUAL_DEV(  0x054c, 0x006d, 0x0000, 0x9999,
314                 "Sony",
315                 "PEG Mass Storage",
316                 US_SC_DEVICE, US_PR_DEVICE, NULL,
317                 US_FL_FIX_INQUIRY ),
318                 
319 UNUSUAL_DEV(  0x057b, 0x0000, 0x0000, 0x0299, 
320                 "Y-E Data",
321                 "Flashbuster-U",
322                 US_SC_DEVICE,  US_PR_CB, NULL,
323                 US_FL_SINGLE_LUN),
324
325 UNUSUAL_DEV(  0x057b, 0x0000, 0x0300, 0x9999, 
326                 "Y-E Data",
327                 "Flashbuster-U",
328                 US_SC_DEVICE,  US_PR_DEVICE, NULL,
329                 US_FL_SINGLE_LUN),
330
331 /* Reported by Johann Cardon <johann.cardon@free.fr>
332  * This entry is needed only because the device reports
333  * bInterfaceClass = 0xff (vendor-specific)
334  */
335 UNUSUAL_DEV(  0x057b, 0x0022, 0x0000, 0x9999, 
336                 "Y-E Data",
337                 "Silicon Media R/W",
338                 US_SC_DEVICE, US_PR_DEVICE, NULL, 0),
339
340 /* Fabrizio Fellini <fello@libero.it> */
341 UNUSUAL_DEV(  0x0595, 0x4343, 0x0000, 0x2210,
342                 "Fujifilm",
343                 "Digital Camera EX-20 DSC",
344                 US_SC_8070, US_PR_CBI, NULL, 0 ),
345
346 UNUSUAL_DEV(  0x059f, 0xa601, 0x0200, 0x0200, 
347                 "LaCie",
348                 "USB Hard Disk",
349                 US_SC_RBC, US_PR_CB, NULL, 0 ), 
350
351 #ifdef CONFIG_USB_STORAGE_ISD200
352 UNUSUAL_DEV(  0x05ab, 0x0031, 0x0100, 0x0110,
353                 "In-System",
354                 "USB/IDE Bridge (ATA/ATAPI)",
355                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
356                 0 ),
357
358 UNUSUAL_DEV(  0x05ab, 0x0301, 0x0100, 0x0110,
359                 "In-System",
360                 "Portable USB Harddrive V2",
361                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
362                 0 ),
363
364 UNUSUAL_DEV(  0x05ab, 0x0351, 0x0100, 0x0110,
365                 "In-System",
366                 "Portable USB Harddrive V2",
367                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
368                 0 ),
369
370 UNUSUAL_DEV(  0x05ab, 0x5701, 0x0100, 0x0110,
371                 "In-System",
372                 "USB Storage Adapter V2",
373                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
374                 0 ),
375 #endif
376
377 #ifdef CONFIG_USB_STORAGE_JUMPSHOT
378 UNUSUAL_DEV(  0x05dc, 0x0001, 0x0000, 0x0001,
379                 "Lexar",
380                 "Jumpshot USB CF Reader",
381                 US_SC_SCSI, US_PR_JUMPSHOT, NULL,
382                 US_FL_MODE_XLATE ),
383 #endif
384
385 /* Reported by Blake Matheny <bmatheny@purdue.edu> */
386 UNUSUAL_DEV(  0x05dc, 0xb002, 0x0000, 0x0113,
387                 "Lexar",
388                 "USB CF Reader",
389                 US_SC_DEVICE, US_PR_DEVICE, NULL,
390                 US_FL_FIX_INQUIRY ),
391
392 /* Reported by Carlos Villegas <cav@uniscope.co.jp>
393  * This device needs an INQUIRY of exactly 36-bytes to function.
394  * That is the only reason this entry is needed.
395  */
396 UNUSUAL_DEV(  0x05e3, 0x0700, 0x0000, 0xffff,
397                 "SIIG",
398                 "CompactFlash Card Reader",
399                 US_SC_DEVICE, US_PR_DEVICE, NULL,
400                 US_FL_FIX_INQUIRY ),
401
402 /* Submitted Alexander Oltu <alexander@all-2.com> */
403 UNUSUAL_DEV(  0x05e3, 0x0701, 0x0000, 0xffff, 
404                 "", 
405                 "USB TO IDE",
406                 US_SC_DEVICE, US_PR_DEVICE, NULL,
407                 US_FL_MODE_XLATE ), 
408
409 /* Reported by Peter Marks <peter.marks@turner.com>
410  * Like the SIIG unit above, this unit needs an INQUIRY to ask for exactly
411  * 36 bytes of data.  No more, no less. That is the only reason this entry
412  * is needed.
413  *
414  * ST818 slim drives (rev 0.02) don't need special care.
415 */
416 UNUSUAL_DEV(  0x05e3, 0x0702, 0x0000, 0x0001,
417                 "EagleTec",
418                 "External Hard Disk",
419                 US_SC_DEVICE, US_PR_DEVICE, NULL,
420                 US_FL_FIX_INQUIRY ),
421
422 /* Reported by Hanno Boeck <hanno@gmx.de>
423  * Taken from the Lycoris Kernel */
424 UNUSUAL_DEV(  0x0636, 0x0003, 0x0000, 0x9999,
425                 "Vivitar",
426                 "Vivicam 35Xx",
427                 US_SC_SCSI, US_PR_BULK, NULL,
428                 US_FL_FIX_INQUIRY | US_FL_MODE_XLATE),
429
430 UNUSUAL_DEV(  0x0644, 0x0000, 0x0100, 0x0100, 
431                 "TEAC",
432                 "Floppy Drive",
433                 US_SC_UFI, US_PR_CB, NULL, 0 ), 
434
435 #ifdef CONFIG_USB_STORAGE_SDDR09
436 UNUSUAL_DEV(  0x066b, 0x0105, 0x0100, 0x0100, 
437                 "Olympus",
438                 "Camedia MAUSB-2",
439                 US_SC_SCSI, US_PR_EUSB_SDDR09, NULL,
440                 US_FL_SINGLE_LUN ),
441 #endif
442
443 /* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */
444 UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001,
445                 "SigmaTel",
446                 "USBMSC Audio Player",
447                 US_SC_DEVICE, US_PR_DEVICE, NULL,
448                 US_FL_FIX_CAPACITY ),
449
450 /* Submitted by Benny Sjostrand <benny@hostmobility.com> */
451 UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001,
452                 "Minolta",
453                 "Dimage F300",
454                 US_SC_SCSI, US_PR_BULK, NULL, 0 ),
455
456 /* Reported by Miguel A. Fosas <amn3s1a@ono.com> */
457 UNUSUAL_DEV(  0x0686, 0x4017, 0x0001, 0x0001,
458                 "Minolta",
459                 "DIMAGE E223",
460                 US_SC_SCSI, US_PR_DEVICE, NULL, 0 ),
461
462 /* Following three Minolta cameras reported by Martin Pool
463  * <mbp@sourcefrog.net>.  Originally discovered by Kedar Petankar,
464  * Matthew Geier, Mikael Lofj"ard, Marcel de Boer.
465  */
466 UNUSUAL_DEV( 0x0686, 0x4006, 0x0001, 0x0001,
467              "Minolta",
468              "DiMAGE 7",
469              US_SC_SCSI, US_PR_DEVICE, NULL,
470              0 ),
471
472 UNUSUAL_DEV( 0x0686, 0x400b, 0x0001, 0x0001,
473              "Minolta",
474              "DiMAGE 7i",
475              US_SC_SCSI, US_PR_DEVICE, NULL,
476              0 ),
477
478 UNUSUAL_DEV( 0x0686, 0x400f, 0x0001, 0x0001,
479              "Minolta",
480              "DiMAGE 7Hi",
481              US_SC_SCSI, US_PR_DEVICE, NULL,
482              0 ),
483
484 UNUSUAL_DEV(  0x0693, 0x0002, 0x0100, 0x0100, 
485                 "Hagiwara",
486                 "FlashGate SmartMedia",
487                 US_SC_SCSI, US_PR_BULK, NULL, 0 ),
488
489 UNUSUAL_DEV(  0x0693, 0x0005, 0x0100, 0x0100,
490                 "Hagiwara",
491                 "Flashgate",
492                 US_SC_SCSI, US_PR_BULK, NULL, 0 ), 
493
494 UNUSUAL_DEV(  0x0781, 0x0001, 0x0200, 0x0200, 
495                 "Sandisk",
496                 "ImageMate SDDR-05a",
497                 US_SC_SCSI, US_PR_CB, NULL,
498                 US_FL_SINGLE_LUN ),
499
500 UNUSUAL_DEV(  0x0781, 0x0002, 0x0009, 0x0009, 
501                 "Sandisk",
502                 "ImageMate SDDR-31",
503                 US_SC_DEVICE, US_PR_DEVICE, NULL,
504                 US_FL_IGNORE_SER ),
505
506 UNUSUAL_DEV(  0x0781, 0x0100, 0x0100, 0x0100,
507                 "Sandisk",
508                 "ImageMate SDDR-12",
509                 US_SC_SCSI, US_PR_CB, NULL,
510                 US_FL_SINGLE_LUN ),
511
512 #ifdef CONFIG_USB_STORAGE_SDDR09
513 UNUSUAL_DEV(  0x0781, 0x0200, 0x0000, 0x9999, 
514                 "Sandisk",
515                 "ImageMate SDDR-09",
516                 US_SC_SCSI, US_PR_EUSB_SDDR09, NULL,
517                 US_FL_SINGLE_LUN ),
518 #endif
519
520 #ifdef CONFIG_USB_STORAGE_FREECOM
521 UNUSUAL_DEV(  0x07ab, 0xfc01, 0x0000, 0x9999,
522                 "Freecom",
523                 "USB-IDE",
524                 US_SC_QIC, US_PR_FREECOM, freecom_init, 0),
525 #endif
526
527 UNUSUAL_DEV(  0x07af, 0x0004, 0x0100, 0x0133, 
528                 "Microtech",
529                 "USB-SCSI-DB25",
530                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init,
531                 US_FL_SCM_MULT_TARG ), 
532
533 UNUSUAL_DEV(  0x07af, 0x0005, 0x0100, 0x0100, 
534                 "Microtech",
535                 "USB-SCSI-HD50",
536                 US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init,
537                 US_FL_SCM_MULT_TARG ), 
538
539 #ifdef CONFIG_USB_STORAGE_DPCM
540 UNUSUAL_DEV(  0x07af, 0x0006, 0x0100, 0x0100,
541                 "Microtech",
542                 "CameraMate (DPCM_USB)",
543                 US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ),
544 #endif
545
546 #ifdef CONFIG_USB_STORAGE_DATAFAB
547 UNUSUAL_DEV(  0x07c4, 0xa000, 0x0000, 0x0015,
548                 "Datafab",
549                 "MDCFE-B USB CF Reader",
550                 US_SC_SCSI, US_PR_DATAFAB, NULL,
551                 US_FL_MODE_XLATE ),
552
553         /*
554          * The following Datafab-based devices may or may not work
555          * using the current driver...the 0xffff is arbitrary since I
556          * don't know what device versions exist for these guys.
557          *
558          * The 0xa003 and 0xa004 devices in particular I'm curious about.
559          * I'm told they exist but so far nobody has come forward to say that
560          * they work with this driver.  Given the success we've had getting
561          * other Datafab-based cards operational with this driver, I've decided
562          * to leave these two devices in the list.
563          */
564 UNUSUAL_DEV( 0x07c4, 0xa001, 0x0000, 0xffff,
565                 "SIIG/Datafab",
566                 "SIIG/Datafab Memory Stick+CF Reader/Writer",
567                 US_SC_SCSI, US_PR_DATAFAB, NULL,
568                 US_FL_MODE_XLATE ),
569
570 UNUSUAL_DEV( 0x07c4, 0xa003, 0x0000, 0xffff,
571                 "Datafab/Unknown",
572                 "Datafab-based Reader",
573                 US_SC_SCSI, US_PR_DATAFAB, NULL,
574                 US_FL_MODE_XLATE ),
575
576 UNUSUAL_DEV( 0x07c4, 0xa004, 0x0000, 0xffff,
577                 "Datafab/Unknown",
578                 "Datafab-based Reader",
579                 US_SC_SCSI, US_PR_DATAFAB, NULL,
580                 US_FL_MODE_XLATE ),
581
582 UNUSUAL_DEV( 0x07c4, 0xa005, 0x0000, 0xffff,
583                 "PNY/Datafab",
584                 "PNY/Datafab CF+SM Reader",
585                 US_SC_SCSI, US_PR_DATAFAB, NULL,
586                 US_FL_MODE_XLATE ),
587
588 UNUSUAL_DEV( 0x07c4, 0xa006, 0x0000, 0xffff,
589                 "Simple Tech/Datafab",
590                 "Simple Tech/Datafab CF+SM Reader",
591                 US_SC_SCSI, US_PR_DATAFAB, NULL,
592                 US_FL_MODE_XLATE ),
593 #endif
594                 
595 #ifdef CONFIG_USB_STORAGE_SDDR55
596 /* Contributed by Peter Waechtler */
597 UNUSUAL_DEV( 0x07c4, 0xa103, 0x0000, 0x9999,
598                 "Datafab",
599                 "MDSM-B reader",
600                 US_SC_SCSI, US_PR_SDDR55, NULL,
601                 US_FL_FIX_INQUIRY ),
602 #endif
603
604 #ifdef CONFIG_USB_STORAGE_DATAFAB
605 /* Submitted by Olaf Hering <olh@suse.de> */
606 UNUSUAL_DEV(  0x07c4, 0xa109, 0x0000, 0xffff,
607                 "Datafab Systems, Inc.",
608                 "USB to CF + SM Combo (LC1)",
609                 US_SC_SCSI, US_PR_DATAFAB, NULL,
610                 US_FL_MODE_XLATE ),
611 #endif
612 #ifdef CONFIG_USB_STORAGE_SDDR55
613 /* SM part - aeb <Andries.Brouwer@cwi.nl> */
614 UNUSUAL_DEV(  0x07c4, 0xa109, 0x0000, 0xffff,
615                 "Datafab Systems, Inc.",
616                 "USB to CF + SM Combo (LC1)",
617                 US_SC_SCSI, US_PR_SDDR55, NULL,
618                 US_FL_SINGLE_LUN ),
619 #endif
620
621 /* Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100
622  * Only revision 1.13 tested (same for all of the above devices,
623  * based on the Datafab DF-UG-07 chip).  Needed for US_FL_FIX_INQUIRY.
624  * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>.
625  * See also http://martin.wilck.bei.t-online.de/#kecf .
626  */
627 UNUSUAL_DEV(  0x07c4, 0xa400, 0x0000, 0xffff,
628                 "Datafab",
629                 "KECF-USB",
630                 US_SC_DEVICE, US_PR_DEVICE, NULL,
631                 US_FL_FIX_INQUIRY ),
632
633 /* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant
634  * to the USB storage specification in two ways:
635  * - They tell us they are using transport protocol CBI. In reality they
636  *   are using transport protocol CB.
637  * - They don't like the INQUIRY command. So we must handle this command
638  *   of the SCSI layer ourselves.
639  */
640 UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999,
641                 "Casio",
642                 "QV DigitalCamera",
643                 US_SC_DEVICE, US_PR_DEVICE, NULL,
644                 US_FL_FIX_INQUIRY ),
645
646 /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/
647 UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001,
648                 "Samsung",
649                 "Digimax 410",
650                 US_SC_DEVICE, US_PR_DEVICE, NULL,
651                 US_FL_FIX_INQUIRY),
652
653 /* Aiptek PocketCAM 3Mega
654  * Nicolas DUPEUX <nicolas@dupeux.net> 
655  */
656 UNUSUAL_DEV(  0x08ca, 0x2011, 0x0000, 0x9999,
657                 "AIPTEK",
658                 "PocketCAM 3Mega",
659                 US_SC_DEVICE, US_PR_DEVICE, NULL,
660                 US_FL_MODE_XLATE ),
661
662 /*Medion 6047 Digital Camera
663 Davide Andrian <_nessuno_@katamail.com>
664 */
665 UNUSUAL_DEV( 0x08ca, 0x2011, 0x0001, 0x0001,
666                 "3MegaCam",
667                 "3MegaCam",
668                 US_SC_DEVICE, US_PR_BULK, NULL,
669                 US_FL_MODE_XLATE ),
670
671 /* Entry needed for flags. Moreover, all devices with this ID use
672  * bulk-only transport, but _some_ falsely report Control/Bulk instead.
673  * One example is "Trumpion Digital Research MYMP3".
674  * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de>
675  */
676 UNUSUAL_DEV(  0x090a, 0x1001, 0x0100, 0x0100,
677                 "Trumpion",
678                 "t33520 USB Flash Card Controller",
679                 US_SC_DEVICE, US_PR_BULK, NULL,
680                 US_FL_MODE_XLATE),
681
682 /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */
683 UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999,
684                 "Trumpion",
685                 "MP3 player",
686                 US_SC_RBC, US_PR_BULK, NULL,
687                 US_FL_MODE_XLATE),
688
689 /* aeb */
690 UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff,
691                 "Feiya",
692                 "5-in-1 Card Reader",
693                 US_SC_DEVICE, US_PR_DEVICE, NULL,
694                 US_FL_FIX_CAPACITY ),
695
696 UNUSUAL_DEV(  0x097a, 0x0001, 0x0000, 0x0001,
697                 "Minds@Work",
698                 "Digital Wallet",
699                 US_SC_DEVICE, US_PR_DEVICE, NULL,
700                 US_FL_MODE_XLATE ),
701
702 UNUSUAL_DEV(  0x0a16, 0x8888, 0x0100, 0x0100,
703                 "IBM",
704                 "IBM USB Memory Key",
705                 US_SC_DEVICE, US_PR_DEVICE, NULL,
706                 US_FL_FIX_INQUIRY ),
707
708 /* This Pentax still camera is not conformant
709  * to the USB storage specification: -
710  * - It does not like the INQUIRY command. So we must handle this command
711  *   of the SCSI layer ourselves.
712  * Tested on Rev. 10.00 (0x1000)
713  * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk>
714  */
715 UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000,
716                 "Pentax",
717                 "Optio 2/3/400",
718                 US_SC_DEVICE, US_PR_DEVICE, NULL,
719                 US_FL_FIX_INQUIRY ),
720
721
722 /* Submitted by Per Winkvist <per.winkvist@uk.com> */
723 UNUSUAL_DEV( 0x0a17, 0x006, 0x0000, 0xffff,
724                 "Pentax",
725                 "Optio S/S4",
726                 US_SC_DEVICE, US_PR_DEVICE, NULL,
727                 US_FL_FIX_INQUIRY ),
728                 
729 #ifdef CONFIG_USB_STORAGE_ISD200
730 UNUSUAL_DEV(  0x0bf6, 0xa001, 0x0100, 0x0110,
731                 "ATI",
732                 "USB Cable 205",
733                 US_SC_ISD200, US_PR_BULK, isd200_Initialization,
734                 0 ),
735 #endif
736
737 /* Submitted by Joris Struyve <joris@struyve.be> */
738 UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff,
739                 "Medion",
740                 "MD 7425",
741                 US_SC_DEVICE, US_PR_DEVICE, NULL,
742                 US_FL_FIX_INQUIRY),
743
744 /*
745  * Entry for Jenoptik JD 5200z3
746  *
747  * email: car.busse@gmx.de
748  */
749 UNUSUAL_DEV(  0x0d96, 0x5200, 0x0001, 0x0200,
750                 "Jenoptik",
751                 "JD 5200 z3",
752                 US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
753
754 /* Reported by Lubomir Blaha <tritol@trilogic.cz>
755  * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this
756  * works for me. Can anybody correct these values? (I able to test corrected
757  * version.)
758  */
759 UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff,
760                 "Netac",
761                 "USB-CF-Card",
762                 US_SC_DEVICE, US_PR_DEVICE, NULL,
763                 US_FL_FIX_INQUIRY ),
764
765 /* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */
766 UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300,
767                 "USB",
768                 "Solid state disk",
769                 US_SC_DEVICE, US_PR_DEVICE, NULL,
770                 US_FL_FIX_INQUIRY ),
771                 
772 /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
773  * Tested on hardware version 1.10.
774  * Entry is needed only for the initializer function override.
775  */
776 UNUSUAL_DEV(  0x1019, 0x0c55, 0x0000, 0x9999,
777                 "Desknote",
778                 "UCR-61S2B",
779                 US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init,
780                 0 ),
781
782 /* Reported by Dan Pilone <pilone@slac.com>
783  * The device needs the flags only.
784  * Also reported by Brian Hall <brihall@pcisys.net>, again for flags.
785  * I also suspect this device may have a broken serial number.
786  */
787 UNUSUAL_DEV(  0x1065, 0x2136, 0x0000, 0x9999,
788                 "CCYU TECHNOLOGY",
789                 "EasyDisk Portable Device",
790                 US_SC_DEVICE, US_PR_DEVICE, NULL,
791                 US_FL_MODE_XLATE ),
792
793 #ifdef CONFIG_USB_STORAGE_SDDR55
794 UNUSUAL_DEV(  0x55aa, 0xa103, 0x0000, 0x9999, 
795                 "Sandisk",
796                 "ImageMate SDDR55",
797                 US_SC_SCSI, US_PR_SDDR55, NULL,
798                 US_FL_SINGLE_LUN),
799 #endif
800
801 /* Patch for Kyocera Finecam L3
802  * Submitted by Michael Krauth <michael.krauth@web.de>
803  */
804 UNUSUAL_DEV(  0x0482, 0x0105, 0x0100, 0x0100,
805                 "Kyocera",
806                 "Finecam L3",
807                 US_SC_SCSI, US_PR_BULK, NULL,
808                 US_FL_FIX_INQUIRY),