11da177e4SLinus Torvalds /* Driver for USB Mass Storage compliant devices 2093cf723SSteven Cole * Unusual Devices File 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * $Id: unusual_devs.h,v 1.32 2002/02/25 02:41:24 mdharm Exp $ 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds * Current development and maintenance by: 71da177e4SLinus Torvalds * (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net) 81da177e4SLinus Torvalds * 91da177e4SLinus Torvalds * Initial work by: 101da177e4SLinus Torvalds * (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc. 111da177e4SLinus Torvalds * 121da177e4SLinus Torvalds * Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more 131da177e4SLinus Torvalds * information about this driver. 141da177e4SLinus Torvalds * 151da177e4SLinus Torvalds * This program is free software; you can redistribute it and/or modify it 161da177e4SLinus Torvalds * under the terms of the GNU General Public License as published by the 171da177e4SLinus Torvalds * Free Software Foundation; either version 2, or (at your option) any 181da177e4SLinus Torvalds * later version. 191da177e4SLinus Torvalds * 201da177e4SLinus Torvalds * This program is distributed in the hope that it will be useful, but 211da177e4SLinus Torvalds * WITHOUT ANY WARRANTY; without even the implied warranty of 221da177e4SLinus Torvalds * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 231da177e4SLinus Torvalds * General Public License for more details. 241da177e4SLinus Torvalds * 251da177e4SLinus Torvalds * You should have received a copy of the GNU General Public License along 261da177e4SLinus Torvalds * with this program; if not, write to the Free Software Foundation, Inc., 271da177e4SLinus Torvalds * 675 Mass Ave, Cambridge, MA 02139, USA. 281da177e4SLinus Torvalds */ 291da177e4SLinus Torvalds 301da177e4SLinus Torvalds /* IMPORTANT NOTE: This file must be included in another file which does 311da177e4SLinus Torvalds * the following thing for it to work: 321da177e4SLinus Torvalds * The macro UNUSUAL_DEV() must be defined before this file is included 331da177e4SLinus Torvalds */ 341da177e4SLinus Torvalds #include <linux/config.h> 351da177e4SLinus Torvalds 361da177e4SLinus Torvalds /* If you edit this file, please try to keep it sorted first by VendorID, 371da177e4SLinus Torvalds * then by ProductID. 381da177e4SLinus Torvalds * 391da177e4SLinus Torvalds * If you want to add an entry for this file, be sure to include the 401da177e4SLinus Torvalds * following information: 411da177e4SLinus Torvalds * - a patch that adds the entry for your device, including your 421da177e4SLinus Torvalds * email address right above the entry (plus maybe a brief 431da177e4SLinus Torvalds * explanation of the reason for the entry), 441da177e4SLinus Torvalds * - a copy of /proc/bus/usb/devices with your device plugged in 451da177e4SLinus Torvalds * running with this patch. 461da177e4SLinus Torvalds * Send your submission to either Phil Dibowitz <phil@ipom.com> or 471da177e4SLinus Torvalds * Alan Stern <stern@rowland.harvard.edu>, and don't forget to CC: the 481da177e4SLinus Torvalds * USB development list <linux-usb-devel@lists.sourceforge.net>. 491da177e4SLinus Torvalds */ 501da177e4SLinus Torvalds 518af60be9SVivian Bregier /* patch submitted by Vivian Bregier <Vivian.Bregier@imag.fr> 528af60be9SVivian Bregier */ 538af60be9SVivian Bregier UNUSUAL_DEV( 0x03eb, 0x2002, 0x0100, 0x0100, 548af60be9SVivian Bregier "ATMEL", 558af60be9SVivian Bregier "SND1 Storage", 568af60be9SVivian Bregier US_SC_DEVICE, US_PR_DEVICE, NULL, 578af60be9SVivian Bregier US_FL_IGNORE_RESIDUE), 588af60be9SVivian Bregier 591da177e4SLinus Torvalds UNUSUAL_DEV( 0x03ee, 0x6901, 0x0000, 0x0100, 601da177e4SLinus Torvalds "Mitsumi", 611da177e4SLinus Torvalds "USB FDD", 621da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 631da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 641da177e4SLinus Torvalds 651da177e4SLinus Torvalds UNUSUAL_DEV( 0x03f0, 0x0107, 0x0200, 0x0200, 661da177e4SLinus Torvalds "HP", 671da177e4SLinus Torvalds "CD-Writer+", 681da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 0), 691da177e4SLinus Torvalds 701da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_USBAT 711da177e4SLinus Torvalds UNUSUAL_DEV( 0x03f0, 0x0207, 0x0001, 0x0001, 721da177e4SLinus Torvalds "HP", 731da177e4SLinus Torvalds "CD-Writer+ 8200e", 74b7b1e655SDaniel Drake US_SC_8070, US_PR_USBAT, init_usbat, 0), 751da177e4SLinus Torvalds 761da177e4SLinus Torvalds UNUSUAL_DEV( 0x03f0, 0x0307, 0x0001, 0x0001, 771da177e4SLinus Torvalds "HP", 781da177e4SLinus Torvalds "CD-Writer+ CD-4e", 79b7b1e655SDaniel Drake US_SC_8070, US_PR_USBAT, init_usbat, 0), 801da177e4SLinus Torvalds #endif 811da177e4SLinus Torvalds 821ea640ceSPhil Dibowitz /* Reported by Sebastian Kapfer <sebastian_kapfer@gmx.net> 831ea640ceSPhil Dibowitz * and Olaf Hering <olh@suse.de> (different bcd's, same vendor/product) 841ea640ceSPhil Dibowitz * for USB floppies that need the SINGLE_LUN enforcement. 851ea640ceSPhil Dibowitz */ 861ea640ceSPhil Dibowitz UNUSUAL_DEV( 0x0409, 0x0040, 0x0000, 0x9999, 871ea640ceSPhil Dibowitz "NEC", 881ea640ceSPhil Dibowitz "NEC USB UF000x", 891ea640ceSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 901ea640ceSPhil Dibowitz US_FL_SINGLE_LUN ), 911ea640ceSPhil Dibowitz 923e220e95SPhil Dibowitz /* Patch submitted by Mihnea-Costin Grigore <mihnea@zulu.ro> */ 933e220e95SPhil Dibowitz UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003, 943e220e95SPhil Dibowitz "VIA Technologies Inc.", 953e220e95SPhil Dibowitz "USB 2.0 Card Reader", 963e220e95SPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 973e220e95SPhil Dibowitz US_FL_IGNORE_RESIDUE ), 983e220e95SPhil Dibowitz 991da177e4SLinus Torvalds /* Deduced by Jonathan Woithe <jwoithe@physics.adelaide.edu.au> 1001da177e4SLinus Torvalds * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message 1011da177e4SLinus Torvalds * always fails and confuses drive. 1021da177e4SLinus Torvalds */ 1031da177e4SLinus Torvalds UNUSUAL_DEV( 0x0411, 0x001c, 0x0113, 0x0113, 1041da177e4SLinus Torvalds "Buffalo", 1051da177e4SLinus Torvalds "DUB-P40G HDD", 1061da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 1071da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 1081da177e4SLinus Torvalds 109e4a16e0cSPhil Dibowitz /* Reported by Stefan Werner <dustbln@gmx.de> */ 110e4a16e0cSPhil Dibowitz UNUSUAL_DEV( 0x0419, 0xaaf6, 0x0100, 0x0100, 111e4a16e0cSPhil Dibowitz "TrekStor", 112e4a16e0cSPhil Dibowitz "i.Beat Joy 2.0", 113e4a16e0cSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 114e4a16e0cSPhil Dibowitz US_FL_IGNORE_RESIDUE ), 115e4a16e0cSPhil Dibowitz 1161ea640ceSPhil Dibowitz /* Reported by Olaf Hering <olh@suse.de> from novell bug #105878 */ 1171ea640ceSPhil Dibowitz UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, 1181ea640ceSPhil Dibowitz "SMSC", 1191ea640ceSPhil Dibowitz "FDC GOLD-2.30", 1201ea640ceSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 1211ea640ceSPhil Dibowitz US_FL_SINGLE_LUN ), 1221ea640ceSPhil Dibowitz 1231da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DPCM 1241da177e4SLinus Torvalds UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, 1251da177e4SLinus Torvalds "Microtech", 1261da177e4SLinus Torvalds "CameraMate (DPCM_USB)", 1271da177e4SLinus Torvalds US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), 1281da177e4SLinus Torvalds #endif 1291da177e4SLinus Torvalds 130490dce15SPete Zaitcev /* 131490dce15SPete Zaitcev * Pete Zaitcev <zaitcev@yahoo.com>, from Patrick C. F. Ernzer, bz#162559. 132490dce15SPete Zaitcev * The key does not actually break, but it returns zero sense which 133490dce15SPete Zaitcev * makes our SCSI stack to print confusing messages. 134490dce15SPete Zaitcev */ 135490dce15SPete Zaitcev UNUSUAL_DEV( 0x0457, 0x0150, 0x0100, 0x0100, 136490dce15SPete Zaitcev "USBest Technology", /* sold by Transcend */ 137490dce15SPete Zaitcev "USB Mass Storage Device", 138490dce15SPete Zaitcev US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), 139490dce15SPete Zaitcev 140e1c37b8dSDaniel Drake /* Patch submitted by Daniel Drake <dsd@gentoo.org> 141e1c37b8dSDaniel Drake * Device reports nonsense bInterfaceProtocol 6 when connected over USB2 */ 142e1c37b8dSDaniel Drake UNUSUAL_DEV( 0x0451, 0x5416, 0x0100, 0x0100, 143e1c37b8dSDaniel Drake "Neuros Audio", 144e1c37b8dSDaniel Drake "USB 2.0 HD 2.5", 145e1c37b8dSDaniel Drake US_SC_DEVICE, US_PR_BULK, NULL, 146e1c37b8dSDaniel Drake US_FL_NEED_OVERRIDE ), 147e1c37b8dSDaniel Drake 148abb02fdfSMatthew Dharm UNUSUAL_DEV( 0x045a, 0x5210, 0x0101, 0x0101, 149abb02fdfSMatthew Dharm "Rio", 150abb02fdfSMatthew Dharm "Rio Karma", 151abb02fdfSMatthew Dharm US_SC_SCSI, US_PR_BULK, rio_karma_init, 0), 152abb02fdfSMatthew Dharm 1531da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1541da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0100, 0x0100, 0x0100, 1551da177e4SLinus Torvalds "Kyocera", 1561da177e4SLinus Torvalds "Finecam S3x", 1571da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1581da177e4SLinus Torvalds 1591da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1601da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0101, 0x0100, 0x0100, 1611da177e4SLinus Torvalds "Kyocera", 1621da177e4SLinus Torvalds "Finecam S4", 1631da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1641da177e4SLinus Torvalds 1651da177e4SLinus Torvalds /* Patch submitted by Stephane Galles <stephane.galles@free.fr> */ 1661da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100, 1671da177e4SLinus Torvalds "Kyocera", 1681da177e4SLinus Torvalds "Finecam S5", 1691da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 1701da177e4SLinus Torvalds 1711da177e4SLinus Torvalds /* Patch for Kyocera Finecam L3 1721da177e4SLinus Torvalds * Submitted by Michael Krauth <michael.krauth@web.de> 1731da177e4SLinus Torvalds * and Alessandro Fracchetti <al.fracchetti@tin.it> 1741da177e4SLinus Torvalds */ 1751da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, 1761da177e4SLinus Torvalds "Kyocera", 1771da177e4SLinus Torvalds "Finecam L3", 1781da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 1791da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 1801da177e4SLinus Torvalds 1811da177e4SLinus Torvalds /* Reported by Paul Stewart <stewart@wetlogic.net> 1821da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 1831da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, 1841da177e4SLinus Torvalds "Hitachi", 1851da177e4SLinus Torvalds "DVD-CAM DZ-MV100A Camcorder", 1861da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN), 1871da177e4SLinus Torvalds 1881da177e4SLinus Torvalds /* Reported by Andreas Bockhold <andreas@bockionline.de> */ 1891da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b0, 0x0405, 0x0100, 0x0100, 1901da177e4SLinus Torvalds "NIKON", 1911da177e4SLinus Torvalds "NIKON DSC D70", 1921da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 1931da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 1941da177e4SLinus Torvalds 19517fa6e55Sfabien COSSE /* Patch for Nikon coolpix 2000 19617fa6e55Sfabien COSSE * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>*/ 19717fa6e55Sfabien COSSE UNUSUAL_DEV( 0x04b0, 0x0301, 0x0010, 0x0010, 19817fa6e55Sfabien COSSE "NIKON", 19917fa6e55Sfabien COSSE "NIKON DSC E2000", 20017fa6e55Sfabien COSSE US_SC_DEVICE, US_PR_DEVICE,NULL, 20117fa6e55Sfabien COSSE US_FL_NOT_LOCKABLE ), 20217fa6e55Sfabien COSSE 2031da177e4SLinus Torvalds /* BENQ DC5330 2041da177e4SLinus Torvalds * Reported by Manuel Fombuena <mfombuena@ya.com> and 2051da177e4SLinus Torvalds * Frank Copeland <fjc@thingy.apana.org.au> */ 2061da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x0100, 2071da177e4SLinus Torvalds "Tekom Technologies, Inc", 2081da177e4SLinus Torvalds "300_CAMERA", 2091da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2101da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 2111da177e4SLinus Torvalds 2121da177e4SLinus Torvalds /* Reported by Simon Levitt <simon@whattf.com> 2131da177e4SLinus Torvalds * This entry needs Sub and Proto fields */ 2141da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0601, 0x0100, 0x0100, 2151da177e4SLinus Torvalds "Epson", 2161da177e4SLinus Torvalds "875DC Storage", 2171da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 2181da177e4SLinus Torvalds 2191da177e4SLinus Torvalds /* Reported by Khalid Aziz <khalid@gonehiking.org> 2201da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 2211da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0602, 0x0110, 0x0110, 2221da177e4SLinus Torvalds "Epson", 2231da177e4SLinus Torvalds "785EPX Storage", 2241da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, US_FL_SINGLE_LUN), 2251da177e4SLinus Torvalds 2261da177e4SLinus Torvalds /* Not sure who reported this originally but 2271da177e4SLinus Torvalds * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN 2281da177e4SLinus Torvalds * flag be added */ 2291da177e4SLinus Torvalds UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210, 2301da177e4SLinus Torvalds "Fujifilm", 2311da177e4SLinus Torvalds "FinePix 1400Zoom", 2321da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN), 2331da177e4SLinus Torvalds 2341da177e4SLinus Torvalds /* Reported by Peter W�chtler <pwaechtler@loewe-komp.de> 2351da177e4SLinus Torvalds * The device needs the flags only. 2361da177e4SLinus Torvalds */ 2371da177e4SLinus Torvalds UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074, 2381da177e4SLinus Torvalds "ScanLogic", 2391da177e4SLinus Torvalds "SL11R-IDE", 2401da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2411da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 2421da177e4SLinus Torvalds 2431da177e4SLinus Torvalds /* Reported by Kriston Fincher <kriston@airmail.net> 2441da177e4SLinus Torvalds * Patch submitted by Sean Millichamp <sean@bruenor.org> 2451da177e4SLinus Torvalds * This is to support the Panasonic PalmCam PV-SD4090 2461da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff 2471da177e4SLinus Torvalds */ 2481da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0901, 0x0100, 0x0200, 2491da177e4SLinus Torvalds "Panasonic", 2501da177e4SLinus Torvalds "LS-120 Camera", 2511da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 0), 2521da177e4SLinus Torvalds 2531da177e4SLinus Torvalds /* From Yukihiro Nakai, via zaitcev@yahoo.com. 2541da177e4SLinus Torvalds * This is needed for CB instead of CBI */ 2551da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0d05, 0x0000, 0x0000, 2561da177e4SLinus Torvalds "Sharp CE-CW05", 2571da177e4SLinus Torvalds "CD-R/RW Drive", 2581da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 0), 2591da177e4SLinus Torvalds 2601da177e4SLinus Torvalds /* Reported by Adriaan Penning <a.penning@luon.net> */ 2611da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x2372, 0x0000, 0x9999, 2621da177e4SLinus Torvalds "Panasonic", 2631da177e4SLinus Torvalds "DMC-LCx Camera", 2641da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2651da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 2661da177e4SLinus Torvalds 267dcab4eafSSimeon Simeonov /* Reported by Simeon Simeonov <simeonov_2000@yahoo.com> */ 268dcab4eafSSimeon Simeonov UNUSUAL_DEV( 0x04da, 0x2373, 0x0000, 0x9999, 269dcab4eafSSimeon Simeonov "LEICA", 270dcab4eafSSimeon Simeonov "D-LUX Camera", 271dcab4eafSSimeon Simeonov US_SC_DEVICE, US_PR_DEVICE, NULL, 272dcab4eafSSimeon Simeonov US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 273dcab4eafSSimeon Simeonov 2741da177e4SLinus Torvalds /* Most of the following entries were developed with the help of 2751da177e4SLinus Torvalds * Shuttle/SCM directly. 2761da177e4SLinus Torvalds */ 2771da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200, 2781da177e4SLinus Torvalds "Matshita", 2791da177e4SLinus Torvalds "LS-120", 2801da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 2811da177e4SLinus Torvalds 2821da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100, 2831da177e4SLinus Torvalds "Shuttle", 2841da177e4SLinus Torvalds "eUSCSI Bridge", 2851da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 2861da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 2871da177e4SLinus Torvalds 2881da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 2891da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999, 2901da177e4SLinus Torvalds "Sandisk", 2911da177e4SLinus Torvalds "ImageMate SDDR09", 292f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 293f5b8cb9cSMatthew Dharm 0), 2941da177e4SLinus Torvalds 2951da177e4SLinus Torvalds /* This entry is from Andries.Brouwer@cwi.nl */ 2961da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, 2971da177e4SLinus Torvalds "SCM Microsystems", 2981da177e4SLinus Torvalds "eUSB SmartMedia / CompactFlash Adapter", 299f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, 3001da177e4SLinus Torvalds 0), 3011da177e4SLinus Torvalds #endif 3021da177e4SLinus Torvalds 3031da177e4SLinus Torvalds /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */ 3041da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0100, 0x0100, 3051da177e4SLinus Torvalds "SCM Microsystems Inc.", 3061da177e4SLinus Torvalds "eUSB MMC Adapter", 3071da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3081da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3091da177e4SLinus Torvalds 3101da177e4SLinus Torvalds /* Reported by Daniel Nouri <dpunktnpunkt@web.de> */ 3111da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0205, 0x0205, 3121da177e4SLinus Torvalds "Shuttle", 3131da177e4SLinus Torvalds "eUSB MMC Adapter", 3141da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 3151da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3161da177e4SLinus Torvalds 3171da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0007, 0x0100, 0x0200, 3181da177e4SLinus Torvalds "Sony", 3191da177e4SLinus Torvalds "Hifd", 3201da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3211da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3221da177e4SLinus Torvalds 3231da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0009, 0x0200, 0x0200, 3241da177e4SLinus Torvalds "Shuttle", 3251da177e4SLinus Torvalds "eUSB ATA/ATAPI Adapter", 3261da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000a, 0x0200, 0x0200, 3291da177e4SLinus Torvalds "Shuttle", 3301da177e4SLinus Torvalds "eUSB CompactFlash Adapter", 3311da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3321da177e4SLinus Torvalds 3331da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000B, 0x0100, 0x0100, 3341da177e4SLinus Torvalds "Shuttle", 3351da177e4SLinus Torvalds "eUSCSI Bridge", 3361da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3371da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3381da177e4SLinus Torvalds 3391da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000C, 0x0100, 0x0100, 3401da177e4SLinus Torvalds "Shuttle", 3411da177e4SLinus Torvalds "eUSCSI Bridge", 3421da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3431da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200, 3461da177e4SLinus Torvalds "Shuttle", 3471da177e4SLinus Torvalds "CD-RW Device", 3481da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3491da177e4SLinus Torvalds 3501da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 3511da177e4SLinus Torvalds * Device uses standards-violating 32-byte Bulk Command Block Wrappers and 3521da177e4SLinus Torvalds * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011. 3531da177e4SLinus Torvalds */ 3541da177e4SLinus Torvalds 3551da177e4SLinus Torvalds UNUSUAL_DEV( 0x04fc, 0x80c2, 0x0100, 0x0100, 3561da177e4SLinus Torvalds "Kobian Mercury", 3571da177e4SLinus Torvalds "Binocam DCB-132", 3581da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3591da177e4SLinus Torvalds US_FL_BULK32), 3601da177e4SLinus Torvalds 3611da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_USBAT 3621da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x1010, 0x0000, 0x9999, 363b7b1e655SDaniel Drake "Shuttle/SCM", 364b7b1e655SDaniel Drake "USBAT-02", 365b7b1e655SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 3661da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3671da177e4SLinus Torvalds #endif 3681da177e4SLinus Torvalds 3691da177e4SLinus Torvalds /* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */ 3701da177e4SLinus Torvalds UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133, 3711da177e4SLinus Torvalds "Belkin", 3721da177e4SLinus Torvalds "USB SCSI Adaptor", 3731da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3741da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3751da177e4SLinus Torvalds 3761da177e4SLinus Torvalds /* Iomega Clik! Drive 3771da177e4SLinus Torvalds * Reported by David Chatenay <dchatenay@hotmail.com> 3781da177e4SLinus Torvalds * The reason this is needed is not fully known. 3791da177e4SLinus Torvalds */ 3801da177e4SLinus Torvalds UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, 3811da177e4SLinus Torvalds "Iomega", 3821da177e4SLinus Torvalds "USB Clik! 40", 3831da177e4SLinus Torvalds US_SC_8070, US_PR_BULK, NULL, 3841da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 3851da177e4SLinus Torvalds 3861da177e4SLinus Torvalds /* Yakumo Mega Image 37 3871da177e4SLinus Torvalds * Submitted by Stephan Fuhrmann <atomenergie@t-online.de> */ 3881da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1801, 0x0100, 0x0100, 3891da177e4SLinus Torvalds "Tekom Technologies, Inc", 3901da177e4SLinus Torvalds "300_CAMERA", 3911da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3921da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 3931da177e4SLinus Torvalds 3941da177e4SLinus Torvalds /* Another Yakumo camera. 3951da177e4SLinus Torvalds * Reported by Michele Alzetta <michele.alzetta@aliceposta.it> */ 3961da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1804, 0x0100, 0x0100, 3971da177e4SLinus Torvalds "Tekom Technologies, Inc", 3981da177e4SLinus Torvalds "300_CAMERA", 3991da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4001da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4011da177e4SLinus Torvalds 4021da177e4SLinus Torvalds /* Reported by Iacopo Spalletti <avvisi@spalletti.it> */ 4031da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100, 4041da177e4SLinus Torvalds "Tekom Technologies, Inc", 4051da177e4SLinus Torvalds "300_CAMERA", 4061da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4071da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4081da177e4SLinus Torvalds 4091da177e4SLinus Torvalds /* Yakumo Mega Image 47 4101da177e4SLinus Torvalds * Reported by Bjoern Paetzel <kolrabi@kolrabi.de> */ 4111da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1905, 0x0100, 0x0100, 4121da177e4SLinus Torvalds "Tekom Technologies, Inc", 4131da177e4SLinus Torvalds "400_CAMERA", 4141da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4151da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4161da177e4SLinus Torvalds 4171da177e4SLinus Torvalds /* Reported by Paul Ortyl <ortylp@3miasto.net> 4181da177e4SLinus Torvalds * Note that it's similar to the device above, only different prodID */ 4191da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1911, 0x0100, 0x0100, 4201da177e4SLinus Torvalds "Tekom Technologies, Inc", 4211da177e4SLinus Torvalds "400_CAMERA", 4221da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4231da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4241da177e4SLinus Torvalds 4251da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450, 4261da177e4SLinus Torvalds "Sony", 4271da177e4SLinus Torvalds "DSC-S30/S70/S75/505V/F505/F707/F717/P8", 4281da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4291da177e4SLinus Torvalds US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), 4301da177e4SLinus Torvalds 4311da177e4SLinus Torvalds /* This entry is needed because the device reports Sub=ff */ 432*ec7dc8d2SAlexandre Duret-Lutz UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0600, 4331da177e4SLinus Torvalds "Sony", 434*ec7dc8d2SAlexandre Duret-Lutz "DSC-T1/T5", 4351da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 4361da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4371da177e4SLinus Torvalds 4381da177e4SLinus Torvalds 4391da177e4SLinus Torvalds /* Reported by wim@geeks.nl */ 4401da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0025, 0x0100, 0x0100, 4411da177e4SLinus Torvalds "Sony", 4421da177e4SLinus Torvalds "Memorystick NW-MS7", 4431da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4441da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4451da177e4SLinus Torvalds 4461da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 4471da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002b, 0x0100, 0x0110, 4481da177e4SLinus Torvalds "Sony", 4491da177e4SLinus Torvalds "Portable USB Harddrive V2", 4501da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 4511da177e4SLinus Torvalds 0 ), 4521da177e4SLinus Torvalds #endif 4531da177e4SLinus Torvalds 4541da177e4SLinus Torvalds /* Submitted by Olaf Hering, <olh@suse.de> SuSE Bugzilla #49049 */ 4551da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002c, 0x0501, 0x0501, 4561da177e4SLinus Torvalds "Sony", 4571da177e4SLinus Torvalds "USB Floppy Drive", 4581da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4591da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4601da177e4SLinus Torvalds 4611da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002d, 0x0100, 0x0100, 4621da177e4SLinus Torvalds "Sony", 4631da177e4SLinus Torvalds "Memorystick MSAC-US1", 4641da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4651da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4661da177e4SLinus Torvalds 4671da177e4SLinus Torvalds /* Submitted by Klaus Mueller <k.mueller@intershop.de> */ 4681da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0106, 0x0310, 4691da177e4SLinus Torvalds "Sony", 4701da177e4SLinus Torvalds "Handycam", 4711da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4721da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4731da177e4SLinus Torvalds 4741da177e4SLinus Torvalds /* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */ 4751da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0500, 0x0500, 4761da177e4SLinus Torvalds "Sony", 4771da177e4SLinus Torvalds "Handycam HC-85", 4781da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 4791da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4801da177e4SLinus Torvalds 4811da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0032, 0x0000, 0x9999, 4821da177e4SLinus Torvalds "Sony", 4831da177e4SLinus Torvalds "Memorystick MSC-U01N", 4841da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4851da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4861da177e4SLinus Torvalds 4871da177e4SLinus Torvalds /* Submitted by Michal Mlotek <mlotek@foobar.pl> */ 4881da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0058, 0x0000, 0x9999, 4891da177e4SLinus Torvalds "Sony", 4901da177e4SLinus Torvalds "PEG N760c Memorystick", 4911da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4921da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 4931da177e4SLinus Torvalds 4941da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0069, 0x0000, 0x9999, 4951da177e4SLinus Torvalds "Sony", 4961da177e4SLinus Torvalds "Memorystick MSC-U03", 4971da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 4981da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4991da177e4SLinus Torvalds 5001da177e4SLinus Torvalds /* Submitted by Nathan Babb <nathan@lexi.com> */ 5011da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x006d, 0x0000, 0x9999, 5021da177e4SLinus Torvalds "Sony", 5031da177e4SLinus Torvalds "PEG Mass Storage", 5041da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5051da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5061da177e4SLinus Torvalds 5071da177e4SLinus Torvalds /* Submitted by Mike Alborn <malborn@deandra.homeip.net> */ 5081da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x016a, 0x0000, 0x9999, 5091da177e4SLinus Torvalds "Sony", 5101da177e4SLinus Torvalds "PEG Mass Storage", 5111da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5121da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5131da177e4SLinus Torvalds 5141da177e4SLinus Torvalds /* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */ 5151da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, 5161da177e4SLinus Torvalds "Sony", 5171da177e4SLinus Torvalds "PEG Mass Storage", 5181da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5191da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5201da177e4SLinus Torvalds 5211da177e4SLinus Torvalds 5221da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, 5231da177e4SLinus Torvalds "Y-E Data", 5241da177e4SLinus Torvalds "Flashbuster-U", 5251da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 5261da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5271da177e4SLinus Torvalds 5281da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0300, 0x9999, 5291da177e4SLinus Torvalds "Y-E Data", 5301da177e4SLinus Torvalds "Flashbuster-U", 5311da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5321da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5331da177e4SLinus Torvalds 5341da177e4SLinus Torvalds /* Reported by Johann Cardon <johann.cardon@free.fr> 5351da177e4SLinus Torvalds * This entry is needed only because the device reports 5361da177e4SLinus Torvalds * bInterfaceClass = 0xff (vendor-specific) 5371da177e4SLinus Torvalds */ 5381da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999, 5391da177e4SLinus Torvalds "Y-E Data", 5401da177e4SLinus Torvalds "Silicon Media R/W", 5411da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 0), 5421da177e4SLinus Torvalds 543e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 544e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x0584, 0x0008, 0x0102, 0x0102, 545e80b0fadSMatthew Dharm "Fujifilm", 546e80b0fadSMatthew Dharm "DPC-R1 (Alauda)", 547e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 548e80b0fadSMatthew Dharm #endif 549e80b0fadSMatthew Dharm 5501da177e4SLinus Torvalds /* Fabrizio Fellini <fello@libero.it> */ 5511da177e4SLinus Torvalds UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210, 5521da177e4SLinus Torvalds "Fujifilm", 5531da177e4SLinus Torvalds "Digital Camera EX-20 DSC", 5541da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 0 ), 5551da177e4SLinus Torvalds 5561da177e4SLinus Torvalds /* The entry was here before I took over, and had US_SC_RBC. It turns 5571da177e4SLinus Torvalds * out that isn't needed. Additionally, Torsten Eriksson 5581da177e4SLinus Torvalds * <Torsten.Eriksson@bergianska.se> is able to use his device fine 5591da177e4SLinus Torvalds * without this entry at all - but I don't suspect that will be true 5601da177e4SLinus Torvalds * for all users (the protocol is likely needed), so is staying at 5611da177e4SLinus Torvalds * this time. - Phil Dibowitz <phil@ipom.com> 5621da177e4SLinus Torvalds */ 5631da177e4SLinus Torvalds UNUSUAL_DEV( 0x059f, 0xa601, 0x0200, 0x0200, 5641da177e4SLinus Torvalds "LaCie", 5651da177e4SLinus Torvalds "USB Hard Disk", 5661da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 0 ), 5671da177e4SLinus Torvalds 5681da177e4SLinus Torvalds /* Submitted by Joel Bourquard <numlock@freesurf.ch> 5691da177e4SLinus Torvalds * Some versions of this device need the SubClass and Protocol overrides 5701da177e4SLinus Torvalds * while others don't. 5711da177e4SLinus Torvalds */ 5721da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110, 5731da177e4SLinus Torvalds "In-System", 5741da177e4SLinus Torvalds "PyroGate External CD-ROM Enclosure (FCD-523)", 5751da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 5761da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 5771da177e4SLinus Torvalds 5781da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 5791da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0031, 0x0100, 0x0110, 5801da177e4SLinus Torvalds "In-System", 5811da177e4SLinus Torvalds "USB/IDE Bridge (ATA/ATAPI)", 5821da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5831da177e4SLinus Torvalds 0 ), 5841da177e4SLinus Torvalds 5851da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0301, 0x0100, 0x0110, 5861da177e4SLinus Torvalds "In-System", 5871da177e4SLinus Torvalds "Portable USB Harddrive V2", 5881da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5891da177e4SLinus Torvalds 0 ), 5901da177e4SLinus Torvalds 5911da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0351, 0x0100, 0x0110, 5921da177e4SLinus Torvalds "In-System", 5931da177e4SLinus Torvalds "Portable USB Harddrive V2", 5941da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5951da177e4SLinus Torvalds 0 ), 5961da177e4SLinus Torvalds 5971da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x5701, 0x0100, 0x0110, 5981da177e4SLinus Torvalds "In-System", 5991da177e4SLinus Torvalds "USB Storage Adapter V2", 6001da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 6011da177e4SLinus Torvalds 0 ), 6021da177e4SLinus Torvalds #endif 6031da177e4SLinus Torvalds 60435f4a0c4SSven Anderson /* Submitted by Sven Anderson <sven-linux@anderson.de> 60535f4a0c4SSven Anderson * There are at least four ProductIDs used for iPods, so I added 0x1202 and 60635f4a0c4SSven Anderson * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears 60735f4a0c4SSven Anderson * to change with firmware updates, I changed the range to maximum for all 60835f4a0c4SSven Anderson * iPod entries. 60935f4a0c4SSven Anderson */ 61035f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999, 6111da177e4SLinus Torvalds "Apple", 6121da177e4SLinus Torvalds "iPod", 6131da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6141da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6151da177e4SLinus Torvalds 61635f4a0c4SSven Anderson /* Reported by Avi Kivity <avi@argo.co.il> */ 61735f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999, 61835f4a0c4SSven Anderson "Apple", 61935f4a0c4SSven Anderson "iPod", 62035f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 62135f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 62235f4a0c4SSven Anderson 62335f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999, 62435f4a0c4SSven Anderson "Apple", 62535f4a0c4SSven Anderson "iPod", 62635f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 62735f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 62835f4a0c4SSven Anderson 62935f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999, 6301da177e4SLinus Torvalds "Apple", 6311da177e4SLinus Torvalds "iPod", 6321da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6331da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6341da177e4SLinus Torvalds 635880a9b5eSPhil Dibowitz /* 636880a9b5eSPhil Dibowitz * Reported by Tyson Vinson <lornoss@gmail.com> 637880a9b5eSPhil Dibowitz * This particular productId is the iPod Nano 638880a9b5eSPhil Dibowitz */ 639880a9b5eSPhil Dibowitz UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999, 640880a9b5eSPhil Dibowitz "Apple", 641880a9b5eSPhil Dibowitz "iPod", 642880a9b5eSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 643880a9b5eSPhil Dibowitz US_FL_FIX_CAPACITY ), 644880a9b5eSPhil Dibowitz 6451da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_JUMPSHOT 6461da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0x0001, 0x0000, 0x0001, 6471da177e4SLinus Torvalds "Lexar", 6481da177e4SLinus Torvalds "Jumpshot USB CF Reader", 6491da177e4SLinus Torvalds US_SC_SCSI, US_PR_JUMPSHOT, NULL, 6501da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 6511da177e4SLinus Torvalds #endif 6521da177e4SLinus Torvalds 6531da177e4SLinus Torvalds /* Reported by Blake Matheny <bmatheny@purdue.edu> */ 6541da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113, 6551da177e4SLinus Torvalds "Lexar", 6561da177e4SLinus Torvalds "USB CF Reader", 6571da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6581da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6591da177e4SLinus Torvalds 6601da177e4SLinus Torvalds /* The following two entries are for a Genesys USB to IDE 6611da177e4SLinus Torvalds * converter chip, but it changes its ProductId depending 6621da177e4SLinus Torvalds * on whether or not a disk or an optical device is enclosed 6631da177e4SLinus Torvalds * They were originally reported by Alexander Oltu 6641da177e4SLinus Torvalds * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com> 6651da177e4SLinus Torvalds * respectively. 6661da177e4SLinus Torvalds */ 6671da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, 6681da177e4SLinus Torvalds "Genesys Logic", 6691da177e4SLinus Torvalds "USB to IDE Optical", 6701da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6711da177e4SLinus Torvalds US_FL_GO_SLOW ), 6721da177e4SLinus Torvalds 6731da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, 6741da177e4SLinus Torvalds "Genesys Logic", 6751da177e4SLinus Torvalds "USB to IDE Disk", 6761da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6771da177e4SLinus Torvalds US_FL_GO_SLOW ), 6781da177e4SLinus Torvalds 6791da177e4SLinus Torvalds /* Reported by Hanno Boeck <hanno@gmx.de> 6801da177e4SLinus Torvalds * Taken from the Lycoris Kernel */ 6811da177e4SLinus Torvalds UNUSUAL_DEV( 0x0636, 0x0003, 0x0000, 0x9999, 6821da177e4SLinus Torvalds "Vivitar", 6831da177e4SLinus Torvalds "Vivicam 35Xx", 6841da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 6851da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6861da177e4SLinus Torvalds 6871da177e4SLinus Torvalds UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100, 6881da177e4SLinus Torvalds "TEAC", 6891da177e4SLinus Torvalds "Floppy Drive", 6901da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 0 ), 6911da177e4SLinus Torvalds 6921da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 6931da177e4SLinus Torvalds UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100, 6941da177e4SLinus Torvalds "Olympus", 6951da177e4SLinus Torvalds "Camedia MAUSB-2", 696f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 697f5b8cb9cSMatthew Dharm 0), 6981da177e4SLinus Torvalds #endif 6991da177e4SLinus Torvalds 7001da177e4SLinus Torvalds /* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */ 7011da177e4SLinus Torvalds UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, 7021da177e4SLinus Torvalds "SigmaTel", 7031da177e4SLinus Torvalds "USBMSC Audio Player", 7041da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7051da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 7061da177e4SLinus Torvalds 7071da177e4SLinus Torvalds /* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */ 7081da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x2507, 0x0100, 0x0100, 7091da177e4SLinus Torvalds "Prolific Technology Inc.", 7101da177e4SLinus Torvalds "Mass Storage Device", 7111da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7121da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7131da177e4SLinus Torvalds 7141da177e4SLinus Torvalds /* Reported by Alex Butcher <alex.butcher@assursys.co.uk> */ 7151da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0001, 7161da177e4SLinus Torvalds "Prolific Technology Inc.", 7171da177e4SLinus Torvalds "ATAPI-6 Bridge Controller", 7181da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7191da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7201da177e4SLinus Torvalds 7211da177e4SLinus Torvalds /* Submitted by Benny Sjostrand <benny@hostmobility.com> */ 7221da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001, 7231da177e4SLinus Torvalds "Minolta", 7241da177e4SLinus Torvalds "Dimage F300", 7251da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7261da177e4SLinus Torvalds 7271da177e4SLinus Torvalds /* Reported by Miguel A. Fosas <amn3s1a@ono.com> */ 7281da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001, 7291da177e4SLinus Torvalds "Minolta", 7301da177e4SLinus Torvalds "DIMAGE E223", 7311da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), 7321da177e4SLinus Torvalds 7331da177e4SLinus Torvalds UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, 7341da177e4SLinus Torvalds "Hagiwara", 7351da177e4SLinus Torvalds "Flashgate", 7361da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7371da177e4SLinus Torvalds 7381da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, 7391da177e4SLinus Torvalds "Sandisk", 7401da177e4SLinus Torvalds "ImageMate SDDR-05a", 7411da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7421da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7431da177e4SLinus Torvalds 744094ec604SDaniel Drake #ifdef CONFIG_USB_STORAGE_USBAT 745094ec604SDaniel Drake UNUSUAL_DEV( 0x0781, 0x0005, 0x0005, 0x0005, 746094ec604SDaniel Drake "Sandisk", 747094ec604SDaniel Drake "ImageMate SDDR-05b", 748094ec604SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 749094ec604SDaniel Drake US_FL_SINGLE_LUN ), 750094ec604SDaniel Drake #endif 751094ec604SDaniel Drake 7521da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100, 7531da177e4SLinus Torvalds "Sandisk", 7541da177e4SLinus Torvalds "ImageMate SDDR-12", 7551da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7561da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7571da177e4SLinus Torvalds 7581da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 7591da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999, 7601da177e4SLinus Torvalds "Sandisk", 7611da177e4SLinus Torvalds "ImageMate SDDR-09", 762f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 763f5b8cb9cSMatthew Dharm 0), 7641da177e4SLinus Torvalds #endif 7651da177e4SLinus Torvalds 7661da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_FREECOM 7671da177e4SLinus Torvalds UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999, 7681da177e4SLinus Torvalds "Freecom", 7691da177e4SLinus Torvalds "USB-IDE", 7701da177e4SLinus Torvalds US_SC_QIC, US_PR_FREECOM, freecom_init, 0), 7711da177e4SLinus Torvalds #endif 7721da177e4SLinus Torvalds 7731da177e4SLinus Torvalds /* Reported by Eero Volotinen <eero@ping-viini.org> */ 774e5278320SPhil Dibowitz UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x9999, 7751da177e4SLinus Torvalds "Freecom Technologies", 7761da177e4SLinus Torvalds "FHD-Classic", 7771da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7781da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 7791da177e4SLinus Torvalds 7801da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133, 7811da177e4SLinus Torvalds "Microtech", 7821da177e4SLinus Torvalds "USB-SCSI-DB25", 7831da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 7841da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7851da177e4SLinus Torvalds 7861da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, 7871da177e4SLinus Torvalds "Microtech", 7881da177e4SLinus Torvalds "USB-SCSI-HD50", 789e8116e84SPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 7901da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7911da177e4SLinus Torvalds 7921da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DPCM 7931da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, 7941da177e4SLinus Torvalds "Microtech", 7951da177e4SLinus Torvalds "CameraMate (DPCM_USB)", 7961da177e4SLinus Torvalds US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), 7971da177e4SLinus Torvalds #endif 7981da177e4SLinus Torvalds 799e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 800e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x07b4, 0x010a, 0x0102, 0x0102, 801e80b0fadSMatthew Dharm "Olympus", 802e80b0fadSMatthew Dharm "MAUSB-10 (Alauda)", 803e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 804e80b0fadSMatthew Dharm #endif 805e80b0fadSMatthew Dharm 8061da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8071da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa000, 0x0000, 0x0015, 8081da177e4SLinus Torvalds "Datafab", 8091da177e4SLinus Torvalds "MDCFE-B USB CF Reader", 8101da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8111da177e4SLinus Torvalds 0 ), 8121da177e4SLinus Torvalds 8131da177e4SLinus Torvalds /* 8141da177e4SLinus Torvalds * The following Datafab-based devices may or may not work 8151da177e4SLinus Torvalds * using the current driver...the 0xffff is arbitrary since I 8161da177e4SLinus Torvalds * don't know what device versions exist for these guys. 8171da177e4SLinus Torvalds * 8181da177e4SLinus Torvalds * The 0xa003 and 0xa004 devices in particular I'm curious about. 8191da177e4SLinus Torvalds * I'm told they exist but so far nobody has come forward to say that 8201da177e4SLinus Torvalds * they work with this driver. Given the success we've had getting 8211da177e4SLinus Torvalds * other Datafab-based cards operational with this driver, I've decided 8221da177e4SLinus Torvalds * to leave these two devices in the list. 8231da177e4SLinus Torvalds */ 8241da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa001, 0x0000, 0xffff, 8251da177e4SLinus Torvalds "SIIG/Datafab", 8261da177e4SLinus Torvalds "SIIG/Datafab Memory Stick+CF Reader/Writer", 8271da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8281da177e4SLinus Torvalds 0 ), 8291da177e4SLinus Torvalds 8301da177e4SLinus Torvalds /* Reported by Josef Reisinger <josef.reisinger@netcologne.de> */ 8311da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa002, 0x0000, 0xffff, 8321da177e4SLinus Torvalds "Datafab/Unknown", 8331da177e4SLinus Torvalds "MD2/MD3 Disk enclosure", 8341da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8351da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8361da177e4SLinus Torvalds 8371da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa003, 0x0000, 0xffff, 8381da177e4SLinus Torvalds "Datafab/Unknown", 8391da177e4SLinus Torvalds "Datafab-based Reader", 8401da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8411da177e4SLinus Torvalds 0 ), 8421da177e4SLinus Torvalds 8431da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa004, 0x0000, 0xffff, 8441da177e4SLinus Torvalds "Datafab/Unknown", 8451da177e4SLinus Torvalds "Datafab-based Reader", 8461da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8471da177e4SLinus Torvalds 0 ), 8481da177e4SLinus Torvalds 8491da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa005, 0x0000, 0xffff, 8501da177e4SLinus Torvalds "PNY/Datafab", 8511da177e4SLinus Torvalds "PNY/Datafab CF+SM Reader", 8521da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8531da177e4SLinus Torvalds 0 ), 8541da177e4SLinus Torvalds 8551da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa006, 0x0000, 0xffff, 8561da177e4SLinus Torvalds "Simple Tech/Datafab", 8571da177e4SLinus Torvalds "Simple Tech/Datafab CF+SM Reader", 8581da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8591da177e4SLinus Torvalds 0 ), 8601da177e4SLinus Torvalds #endif 8611da177e4SLinus Torvalds 8621da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8631da177e4SLinus Torvalds /* Contributed by Peter Waechtler */ 8641da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa103, 0x0000, 0x9999, 8651da177e4SLinus Torvalds "Datafab", 8661da177e4SLinus Torvalds "MDSM-B reader", 8671da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8681da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 8691da177e4SLinus Torvalds #endif 8701da177e4SLinus Torvalds 8711da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8721da177e4SLinus Torvalds /* Submitted by Olaf Hering <olh@suse.de> */ 8731da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8741da177e4SLinus Torvalds "Datafab Systems, Inc.", 8751da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8761da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8771da177e4SLinus Torvalds 0 ), 8781da177e4SLinus Torvalds #endif 8791da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8801da177e4SLinus Torvalds /* SM part - aeb <Andries.Brouwer@cwi.nl> */ 8811da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8821da177e4SLinus Torvalds "Datafab Systems, Inc.", 8831da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8841da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8851da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8861da177e4SLinus Torvalds #endif 8871da177e4SLinus Torvalds 888d6427cf7Sfelix@derklecks.de #ifdef CONFIG_USB_STORAGE_DATAFAB 889d6427cf7Sfelix@derklecks.de /* Reported by Felix Moeller <felix@derklecks.de> 890d6427cf7Sfelix@derklecks.de * in Germany this is sold by Hama with the productnumber 46952 891d6427cf7Sfelix@derklecks.de * as "DualSlot CompactFlash(TM) & MStick Drive USB" 892d6427cf7Sfelix@derklecks.de */ 893d6427cf7Sfelix@derklecks.de UNUSUAL_DEV( 0x07c4, 0xa10b, 0x0000, 0xffff, 894d6427cf7Sfelix@derklecks.de "DataFab Systems Inc.", 895d6427cf7Sfelix@derklecks.de "USB CF+MS", 896d6427cf7Sfelix@derklecks.de US_SC_SCSI, US_PR_DATAFAB, NULL, 897d6427cf7Sfelix@derklecks.de 0 ), 898d6427cf7Sfelix@derklecks.de 899d6427cf7Sfelix@derklecks.de #endif 900d6427cf7Sfelix@derklecks.de 9011da177e4SLinus Torvalds /* Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100 9021da177e4SLinus Torvalds * Only revision 1.13 tested (same for all of the above devices, 9031da177e4SLinus Torvalds * based on the Datafab DF-UG-07 chip). Needed for US_FL_FIX_INQUIRY. 9041da177e4SLinus Torvalds * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>. 9051da177e4SLinus Torvalds * See also http://martin.wilck.bei.t-online.de/#kecf . 9061da177e4SLinus Torvalds */ 9071da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa400, 0x0000, 0xffff, 9081da177e4SLinus Torvalds "Datafab", 9091da177e4SLinus Torvalds "KECF-USB", 9101da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9111da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9121da177e4SLinus Torvalds 9131da177e4SLinus Torvalds /* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant 9141da177e4SLinus Torvalds * to the USB storage specification in two ways: 9151da177e4SLinus Torvalds * - They tell us they are using transport protocol CBI. In reality they 9161da177e4SLinus Torvalds * are using transport protocol CB. 9171da177e4SLinus Torvalds * - They don't like the INQUIRY command. So we must handle this command 9181da177e4SLinus Torvalds * of the SCSI layer ourselves. 9191da177e4SLinus Torvalds * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have 9201da177e4SLinus Torvalds * bInterfaceProtocol=0x00 (US_PR_CBI) while others have 0x01 (US_PR_CB). 9211da177e4SLinus Torvalds * So don't remove the US_PR_CB override! 9221da177e4SLinus Torvalds * - Cameras with bcdDevice=0x9009 require the US_SC_8070 override. 9231da177e4SLinus Torvalds */ 9241da177e4SLinus Torvalds UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999, 9251da177e4SLinus Torvalds "Casio", 9261da177e4SLinus Torvalds "QV DigitalCamera", 9271da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 9281da177e4SLinus Torvalds US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ), 9291da177e4SLinus Torvalds 9301da177e4SLinus Torvalds /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/ 9311da177e4SLinus Torvalds UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001, 9321da177e4SLinus Torvalds "Samsung", 9331da177e4SLinus Torvalds "Digimax 410", 9341da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9351da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 9361da177e4SLinus Torvalds 9371da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 9381da177e4SLinus Torvalds * Flag will support Bulk devices which use a standards-violating 32-byte 9391da177e4SLinus Torvalds * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with 9401da177e4SLinus Torvalds * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support. 9411da177e4SLinus Torvalds */ 9421da177e4SLinus Torvalds 9431da177e4SLinus Torvalds UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x0110, 9441da177e4SLinus Torvalds "Grandtech", 9451da177e4SLinus Torvalds "DC2MEGA", 9461da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9471da177e4SLinus Torvalds US_FL_BULK32), 9481da177e4SLinus Torvalds 9491da177e4SLinus Torvalds 9501da177e4SLinus Torvalds /* Entry needed for flags. Moreover, all devices with this ID use 9511da177e4SLinus Torvalds * bulk-only transport, but _some_ falsely report Control/Bulk instead. 9521da177e4SLinus Torvalds * One example is "Trumpion Digital Research MYMP3". 9531da177e4SLinus Torvalds * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de> 9541da177e4SLinus Torvalds */ 9551da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100, 9561da177e4SLinus Torvalds "Trumpion", 9571da177e4SLinus Torvalds "t33520 USB Flash Card Controller", 9581da177e4SLinus Torvalds US_SC_DEVICE, US_PR_BULK, NULL, 9591da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 9601da177e4SLinus Torvalds 9611724757eSPhil Dibowitz /* Reported by Filippo Bardelli <filibard@libero.it> 9621724757eSPhil Dibowitz * The device reports a subclass of RBC, which is wrong. 9631724757eSPhil Dibowitz */ 9641724757eSPhil Dibowitz UNUSUAL_DEV( 0x090a, 0x1050, 0x0100, 0x0100, 9651724757eSPhil Dibowitz "Trumpion Microelectronics, Inc.", 9661724757eSPhil Dibowitz "33520 USB Digital Voice Recorder", 9671724757eSPhil Dibowitz US_SC_UFI, US_PR_DEVICE, NULL, 9681724757eSPhil Dibowitz 0), 9691724757eSPhil Dibowitz 9701da177e4SLinus Torvalds /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */ 9711da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999, 9721da177e4SLinus Torvalds "Trumpion", 9731da177e4SLinus Torvalds "MP3 player", 9741da177e4SLinus Torvalds US_SC_RBC, US_PR_BULK, NULL, 9751da177e4SLinus Torvalds 0 ), 9761da177e4SLinus Torvalds 9771da177e4SLinus Torvalds /* aeb */ 9781da177e4SLinus Torvalds UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff, 9791da177e4SLinus Torvalds "Feiya", 9801da177e4SLinus Torvalds "5-in-1 Card Reader", 9811da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9821da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 9831da177e4SLinus Torvalds 9841da177e4SLinus Torvalds /* This Pentax still camera is not conformant 9851da177e4SLinus Torvalds * to the USB storage specification: - 9861da177e4SLinus Torvalds * - It does not like the INQUIRY command. So we must handle this command 9871da177e4SLinus Torvalds * of the SCSI layer ourselves. 9881da177e4SLinus Torvalds * Tested on Rev. 10.00 (0x1000) 9891da177e4SLinus Torvalds * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk> 9901da177e4SLinus Torvalds */ 9911da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000, 9921da177e4SLinus Torvalds "Pentax", 9931da177e4SLinus Torvalds "Optio 2/3/400", 9941da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9951da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9961da177e4SLinus Torvalds 9971da177e4SLinus Torvalds 9981da177e4SLinus Torvalds /* Submitted by Per Winkvist <per.winkvist@uk.com> */ 9991da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x006, 0x0000, 0xffff, 10001da177e4SLinus Torvalds "Pentax", 10011da177e4SLinus Torvalds "Optio S/S4", 10021da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10031da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10041da177e4SLinus Torvalds 10051da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 10061da177e4SLinus Torvalds UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, 10071da177e4SLinus Torvalds "ATI", 10081da177e4SLinus Torvalds "USB Cable 205", 10091da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 10101da177e4SLinus Torvalds 0 ), 10111da177e4SLinus Torvalds #endif 10121da177e4SLinus Torvalds 10131da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 10141da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10151da177e4SLinus Torvalds "Acomdata", 10161da177e4SLinus Torvalds "CF", 10171da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 10181da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10191da177e4SLinus Torvalds #endif 10201da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 10211da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10221da177e4SLinus Torvalds "Acomdata", 10231da177e4SLinus Torvalds "SM", 10241da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 10251da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10261da177e4SLinus Torvalds #endif 10271da177e4SLinus Torvalds 102834008dbfSMatthew Dharm /* Submitted by: Nick Sillik <n.sillik@temple.edu> 102934008dbfSMatthew Dharm * Needed for OneTouch extension to usb-storage 103034008dbfSMatthew Dharm * 103134008dbfSMatthew Dharm */ 103234008dbfSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ONETOUCH 103394656639SAntti Andreimann UNUSUAL_DEV( 0x0d49, 0x7000, 0x0000, 0x9999, 103494656639SAntti Andreimann "Maxtor", 103594656639SAntti Andreimann "OneTouch External Harddrive", 103694656639SAntti Andreimann US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 103794656639SAntti Andreimann 0), 103834008dbfSMatthew Dharm UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, 103934008dbfSMatthew Dharm "Maxtor", 104034008dbfSMatthew Dharm "OneTouch External Harddrive", 104134008dbfSMatthew Dharm US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 104234008dbfSMatthew Dharm 0), 104334008dbfSMatthew Dharm #endif 104434008dbfSMatthew Dharm 10451da177e4SLinus Torvalds /* Submitted by Joris Struyve <joris@struyve.be> */ 10461da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff, 10471da177e4SLinus Torvalds "Medion", 10481da177e4SLinus Torvalds "MD 7425", 10491da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10501da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 10511da177e4SLinus Torvalds 10521da177e4SLinus Torvalds /* 10531da177e4SLinus Torvalds * Entry for Jenoptik JD 5200z3 10541da177e4SLinus Torvalds * 10551da177e4SLinus Torvalds * email: car.busse@gmx.de 10561da177e4SLinus Torvalds */ 10571da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x5200, 0x0001, 0x0200, 10581da177e4SLinus Torvalds "Jenoptik", 10591da177e4SLinus Torvalds "JD 5200 z3", 10601da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 10611da177e4SLinus Torvalds 10621da177e4SLinus Torvalds /* Reported by Lubomir Blaha <tritol@trilogic.cz> 10631da177e4SLinus Torvalds * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this 10641da177e4SLinus Torvalds * works for me. Can anybody correct these values? (I able to test corrected 10651da177e4SLinus Torvalds * version.) 10661da177e4SLinus Torvalds */ 10671da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff, 10681da177e4SLinus Torvalds "Netac", 10691da177e4SLinus Torvalds "USB-CF-Card", 10701da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10711da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10721da177e4SLinus Torvalds 10731da177e4SLinus Torvalds /* Patch by Stephan Walter <stephan.walter@epfl.ch> 10741da177e4SLinus Torvalds * I don't know why, but it works... */ 10751da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012, 10761da177e4SLinus Torvalds "WINWARD", 10771da177e4SLinus Torvalds "Music Disk", 10781da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10791da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10801da177e4SLinus Torvalds 10811da177e4SLinus Torvalds /* Reported by Ian McConnell <ian at emit.demon.co.uk> */ 10821da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0301, 0x0012, 0x0012, 10831da177e4SLinus Torvalds "PNP_MP3", 10841da177e4SLinus Torvalds "PNP_MP3 PLAYER", 10851da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10861da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10871da177e4SLinus Torvalds 10881da177e4SLinus Torvalds /* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */ 10891da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300, 10901da177e4SLinus Torvalds "USB", 10911da177e4SLinus Torvalds "Solid state disk", 10921da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10931da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10941da177e4SLinus Torvalds 10951da177e4SLinus Torvalds /* Submitted by Daniel Drake <dsd@gentoo.org> 10961da177e4SLinus Torvalds * Reported by dayul on the Gentoo Forums */ 10971da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x2168, 0x0110, 0x0110, 10981da177e4SLinus Torvalds "Ours Technology", 10991da177e4SLinus Torvalds "Flash Disk", 11001da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11011da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11021da177e4SLinus Torvalds 11031da177e4SLinus Torvalds /* Reported by Rastislav Stanik <rs_kernel@yahoo.com> */ 11041da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110, 11051da177e4SLinus Torvalds "USB", 11061da177e4SLinus Torvalds "Flash Disk", 11071da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11081da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11091da177e4SLinus Torvalds 11101da177e4SLinus Torvalds /* Reported by Michael Stattmann <michael@stattmann.com> */ 11111da177e4SLinus Torvalds UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, 11121da177e4SLinus Torvalds "Sony Ericsson", 11131da177e4SLinus Torvalds "V800-Vodafone 802", 11141da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11151da177e4SLinus Torvalds US_FL_NO_WP_DETECT ), 11161da177e4SLinus Torvalds 11171da177e4SLinus Torvalds /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> 11181da177e4SLinus Torvalds * Tested on hardware version 1.10. 11191da177e4SLinus Torvalds * Entry is needed only for the initializer function override. 11201da177e4SLinus Torvalds */ 11211da177e4SLinus Torvalds UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x9999, 11221da177e4SLinus Torvalds "Desknote", 11231da177e4SLinus Torvalds "UCR-61S2B", 11241da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init, 11251da177e4SLinus Torvalds 0 ), 11261da177e4SLinus Torvalds 11277b1cbebaSPhil Dibowitz /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ 11287b1cbebaSPhil Dibowitz UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001, 11297b1cbebaSPhil Dibowitz "Minolta", 11307b1cbebaSPhil Dibowitz "Dimage Z10", 11317b1cbebaSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 11327b1cbebaSPhil Dibowitz 0 ), 11337b1cbebaSPhil Dibowitz 11341da177e4SLinus Torvalds /* Reported by Kotrla Vitezslav <kotrla@ceb.cz> */ 11351da177e4SLinus Torvalds UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, 11361da177e4SLinus Torvalds "SWISSBIT", 11371da177e4SLinus Torvalds "Black Silver", 11381da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11391da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11401da177e4SLinus Torvalds 11411da177e4SLinus Torvalds /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ 11421da177e4SLinus Torvalds UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, 11431da177e4SLinus Torvalds "MPIO", 11441da177e4SLinus Torvalds "HS200", 11451da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11461da177e4SLinus Torvalds US_FL_GO_SLOW ), 11471da177e4SLinus Torvalds 114863dc3ff3SDavid Härdeman /* 114963dc3ff3SDavid Härdeman * David H�rdeman <david@2gen.com> 115063dc3ff3SDavid Härdeman * The key makes the SCSI stack print confusing (but harmless) messages 115163dc3ff3SDavid Härdeman */ 115263dc3ff3SDavid Härdeman UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100, 115363dc3ff3SDavid Härdeman "Iomega", 115463dc3ff3SDavid Härdeman "Micro Mini 1GB", 115563dc3ff3SDavid Härdeman US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), 115663dc3ff3SDavid Härdeman 11571da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 11581da177e4SLinus Torvalds UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x9999, 11591da177e4SLinus Torvalds "Sandisk", 11601da177e4SLinus Torvalds "ImageMate SDDR55", 11611da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 11621da177e4SLinus Torvalds US_FL_SINGLE_LUN), 11631da177e4SLinus Torvalds #endif 1164a00828e9SPete Zaitcev 1165a00828e9SPete Zaitcev /* Control/Bulk transport for all SubClass values */ 1166a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR), 1167a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR), 1168a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CB, USB_US_TYPE_STOR), 1169a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CB, USB_US_TYPE_STOR), 1170a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CB, USB_US_TYPE_STOR), 1171a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CB, USB_US_TYPE_STOR), 1172a00828e9SPete Zaitcev 1173a00828e9SPete Zaitcev /* Control/Bulk/Interrupt transport for all SubClass values */ 1174a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CBI, USB_US_TYPE_STOR), 1175a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CBI, USB_US_TYPE_STOR), 1176a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CBI, USB_US_TYPE_STOR), 1177a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CBI, USB_US_TYPE_STOR), 1178a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CBI, USB_US_TYPE_STOR), 1179a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CBI, USB_US_TYPE_STOR), 1180a00828e9SPete Zaitcev 1181a00828e9SPete Zaitcev /* Bulk-only transport for all SubClass values */ 1182a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_BULK, USB_US_TYPE_STOR), 1183a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_BULK, USB_US_TYPE_STOR), 1184a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_BULK, USB_US_TYPE_STOR), 1185a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_BULK, USB_US_TYPE_STOR), 1186a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_BULK, USB_US_TYPE_STOR), 1187a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_BULK, 0), 1188