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