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 109*1d614a4bSAlan Stern /* Reported by Christian Leber <christian@leber.de> */ 110*1d614a4bSAlan Stern UNUSUAL_DEV( 0x0419, 0xaaf5, 0x0100, 0x0100, 111*1d614a4bSAlan Stern "TrekStor", 112*1d614a4bSAlan Stern "i.Beat 115 2.0", 113*1d614a4bSAlan Stern US_SC_DEVICE, US_PR_DEVICE, NULL, 114*1d614a4bSAlan Stern US_FL_IGNORE_RESIDUE | US_FL_NOT_LOCKABLE ), 115*1d614a4bSAlan Stern 116e4a16e0cSPhil Dibowitz /* Reported by Stefan Werner <dustbln@gmx.de> */ 117e4a16e0cSPhil Dibowitz UNUSUAL_DEV( 0x0419, 0xaaf6, 0x0100, 0x0100, 118e4a16e0cSPhil Dibowitz "TrekStor", 119e4a16e0cSPhil Dibowitz "i.Beat Joy 2.0", 120e4a16e0cSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 121e4a16e0cSPhil Dibowitz US_FL_IGNORE_RESIDUE ), 122e4a16e0cSPhil Dibowitz 1231ea640ceSPhil Dibowitz /* Reported by Olaf Hering <olh@suse.de> from novell bug #105878 */ 1241ea640ceSPhil Dibowitz UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, 1251ea640ceSPhil Dibowitz "SMSC", 1261ea640ceSPhil Dibowitz "FDC GOLD-2.30", 1271ea640ceSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 1281ea640ceSPhil Dibowitz US_FL_SINGLE_LUN ), 1291ea640ceSPhil Dibowitz 1301da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DPCM 1311da177e4SLinus Torvalds UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100, 1321da177e4SLinus Torvalds "Microtech", 1331da177e4SLinus Torvalds "CameraMate (DPCM_USB)", 1341da177e4SLinus Torvalds US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), 1351da177e4SLinus Torvalds #endif 1361da177e4SLinus Torvalds 137490dce15SPete Zaitcev /* 138490dce15SPete Zaitcev * Pete Zaitcev <zaitcev@yahoo.com>, from Patrick C. F. Ernzer, bz#162559. 139490dce15SPete Zaitcev * The key does not actually break, but it returns zero sense which 140490dce15SPete Zaitcev * makes our SCSI stack to print confusing messages. 141490dce15SPete Zaitcev */ 142490dce15SPete Zaitcev UNUSUAL_DEV( 0x0457, 0x0150, 0x0100, 0x0100, 143490dce15SPete Zaitcev "USBest Technology", /* sold by Transcend */ 144490dce15SPete Zaitcev "USB Mass Storage Device", 145490dce15SPete Zaitcev US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), 146490dce15SPete Zaitcev 147e1c37b8dSDaniel Drake /* Patch submitted by Daniel Drake <dsd@gentoo.org> 148e1c37b8dSDaniel Drake * Device reports nonsense bInterfaceProtocol 6 when connected over USB2 */ 149e1c37b8dSDaniel Drake UNUSUAL_DEV( 0x0451, 0x5416, 0x0100, 0x0100, 150e1c37b8dSDaniel Drake "Neuros Audio", 151e1c37b8dSDaniel Drake "USB 2.0 HD 2.5", 152e1c37b8dSDaniel Drake US_SC_DEVICE, US_PR_BULK, NULL, 153e1c37b8dSDaniel Drake US_FL_NEED_OVERRIDE ), 154e1c37b8dSDaniel Drake 155abb02fdfSMatthew Dharm UNUSUAL_DEV( 0x045a, 0x5210, 0x0101, 0x0101, 156abb02fdfSMatthew Dharm "Rio", 157abb02fdfSMatthew Dharm "Rio Karma", 158abb02fdfSMatthew Dharm US_SC_SCSI, US_PR_BULK, rio_karma_init, 0), 159abb02fdfSMatthew Dharm 1601da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1611da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0100, 0x0100, 0x0100, 1621da177e4SLinus Torvalds "Kyocera", 1631da177e4SLinus Torvalds "Finecam S3x", 1641da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1651da177e4SLinus Torvalds 1661da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1671da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0101, 0x0100, 0x0100, 1681da177e4SLinus Torvalds "Kyocera", 1691da177e4SLinus Torvalds "Finecam S4", 1701da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1711da177e4SLinus Torvalds 1721da177e4SLinus Torvalds /* Patch submitted by Stephane Galles <stephane.galles@free.fr> */ 1731da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100, 1741da177e4SLinus Torvalds "Kyocera", 1751da177e4SLinus Torvalds "Finecam S5", 1761da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 1771da177e4SLinus Torvalds 1781da177e4SLinus Torvalds /* Patch for Kyocera Finecam L3 1791da177e4SLinus Torvalds * Submitted by Michael Krauth <michael.krauth@web.de> 1801da177e4SLinus Torvalds * and Alessandro Fracchetti <al.fracchetti@tin.it> 1811da177e4SLinus Torvalds */ 1821da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, 1831da177e4SLinus Torvalds "Kyocera", 1841da177e4SLinus Torvalds "Finecam L3", 1851da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 1861da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 1871da177e4SLinus Torvalds 1881da177e4SLinus Torvalds /* Reported by Paul Stewart <stewart@wetlogic.net> 1891da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 1901da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, 1911da177e4SLinus Torvalds "Hitachi", 1921da177e4SLinus Torvalds "DVD-CAM DZ-MV100A Camcorder", 1931da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN), 1941da177e4SLinus Torvalds 1951da177e4SLinus Torvalds /* Reported by Andreas Bockhold <andreas@bockionline.de> */ 1961da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b0, 0x0405, 0x0100, 0x0100, 1971da177e4SLinus Torvalds "NIKON", 1981da177e4SLinus Torvalds "NIKON DSC D70", 1991da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2001da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 2011da177e4SLinus Torvalds 20217fa6e55Sfabien COSSE /* Patch for Nikon coolpix 2000 20317fa6e55Sfabien COSSE * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>*/ 20417fa6e55Sfabien COSSE UNUSUAL_DEV( 0x04b0, 0x0301, 0x0010, 0x0010, 20517fa6e55Sfabien COSSE "NIKON", 20617fa6e55Sfabien COSSE "NIKON DSC E2000", 20717fa6e55Sfabien COSSE US_SC_DEVICE, US_PR_DEVICE,NULL, 20817fa6e55Sfabien COSSE US_FL_NOT_LOCKABLE ), 20917fa6e55Sfabien COSSE 2101da177e4SLinus Torvalds /* BENQ DC5330 2111da177e4SLinus Torvalds * Reported by Manuel Fombuena <mfombuena@ya.com> and 2121da177e4SLinus Torvalds * Frank Copeland <fjc@thingy.apana.org.au> */ 2131da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x0100, 2141da177e4SLinus Torvalds "Tekom Technologies, Inc", 2151da177e4SLinus Torvalds "300_CAMERA", 2161da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2171da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 2181da177e4SLinus Torvalds 2191da177e4SLinus Torvalds /* Reported by Simon Levitt <simon@whattf.com> 2201da177e4SLinus Torvalds * This entry needs Sub and Proto fields */ 2211da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0601, 0x0100, 0x0100, 2221da177e4SLinus Torvalds "Epson", 2231da177e4SLinus Torvalds "875DC Storage", 2241da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 2251da177e4SLinus Torvalds 2261da177e4SLinus Torvalds /* Reported by Khalid Aziz <khalid@gonehiking.org> 2271da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 2281da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0602, 0x0110, 0x0110, 2291da177e4SLinus Torvalds "Epson", 2301da177e4SLinus Torvalds "785EPX Storage", 2311da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, US_FL_SINGLE_LUN), 2321da177e4SLinus Torvalds 2331da177e4SLinus Torvalds /* Not sure who reported this originally but 2341da177e4SLinus Torvalds * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN 2351da177e4SLinus Torvalds * flag be added */ 2361da177e4SLinus Torvalds UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210, 2371da177e4SLinus Torvalds "Fujifilm", 2381da177e4SLinus Torvalds "FinePix 1400Zoom", 2391da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN), 2401da177e4SLinus Torvalds 2411da177e4SLinus Torvalds /* Reported by Peter W�chtler <pwaechtler@loewe-komp.de> 2421da177e4SLinus Torvalds * The device needs the flags only. 2431da177e4SLinus Torvalds */ 2441da177e4SLinus Torvalds UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074, 2451da177e4SLinus Torvalds "ScanLogic", 2461da177e4SLinus Torvalds "SL11R-IDE", 2471da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2481da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 2491da177e4SLinus Torvalds 2501da177e4SLinus Torvalds /* Reported by Kriston Fincher <kriston@airmail.net> 2511da177e4SLinus Torvalds * Patch submitted by Sean Millichamp <sean@bruenor.org> 2521da177e4SLinus Torvalds * This is to support the Panasonic PalmCam PV-SD4090 2531da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff 2541da177e4SLinus Torvalds */ 2551da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0901, 0x0100, 0x0200, 2561da177e4SLinus Torvalds "Panasonic", 2571da177e4SLinus Torvalds "LS-120 Camera", 2581da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 0), 2591da177e4SLinus Torvalds 2601da177e4SLinus Torvalds /* From Yukihiro Nakai, via zaitcev@yahoo.com. 2611da177e4SLinus Torvalds * This is needed for CB instead of CBI */ 2621da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0d05, 0x0000, 0x0000, 2631da177e4SLinus Torvalds "Sharp CE-CW05", 2641da177e4SLinus Torvalds "CD-R/RW Drive", 2651da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 0), 2661da177e4SLinus Torvalds 2671da177e4SLinus Torvalds /* Reported by Adriaan Penning <a.penning@luon.net> */ 2681da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x2372, 0x0000, 0x9999, 2691da177e4SLinus Torvalds "Panasonic", 2701da177e4SLinus Torvalds "DMC-LCx Camera", 2711da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2721da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 2731da177e4SLinus Torvalds 274dcab4eafSSimeon Simeonov /* Reported by Simeon Simeonov <simeonov_2000@yahoo.com> */ 275dcab4eafSSimeon Simeonov UNUSUAL_DEV( 0x04da, 0x2373, 0x0000, 0x9999, 276dcab4eafSSimeon Simeonov "LEICA", 277dcab4eafSSimeon Simeonov "D-LUX Camera", 278dcab4eafSSimeon Simeonov US_SC_DEVICE, US_PR_DEVICE, NULL, 279dcab4eafSSimeon Simeonov US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 280dcab4eafSSimeon Simeonov 2811da177e4SLinus Torvalds /* Most of the following entries were developed with the help of 2821da177e4SLinus Torvalds * Shuttle/SCM directly. 2831da177e4SLinus Torvalds */ 2841da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200, 2851da177e4SLinus Torvalds "Matshita", 2861da177e4SLinus Torvalds "LS-120", 2871da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 2881da177e4SLinus Torvalds 2891da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100, 2901da177e4SLinus Torvalds "Shuttle", 2911da177e4SLinus Torvalds "eUSCSI Bridge", 2921da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 2931da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 2941da177e4SLinus Torvalds 2951da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 2961da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999, 2971da177e4SLinus Torvalds "Sandisk", 2981da177e4SLinus Torvalds "ImageMate SDDR09", 299f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 300f5b8cb9cSMatthew Dharm 0), 3011da177e4SLinus Torvalds 3021da177e4SLinus Torvalds /* This entry is from Andries.Brouwer@cwi.nl */ 3031da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, 3041da177e4SLinus Torvalds "SCM Microsystems", 3051da177e4SLinus Torvalds "eUSB SmartMedia / CompactFlash Adapter", 306f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, 3071da177e4SLinus Torvalds 0), 3081da177e4SLinus Torvalds #endif 3091da177e4SLinus Torvalds 3101da177e4SLinus Torvalds /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */ 3111da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0100, 0x0100, 3121da177e4SLinus Torvalds "SCM Microsystems Inc.", 3131da177e4SLinus Torvalds "eUSB MMC Adapter", 3141da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3151da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3161da177e4SLinus Torvalds 3171da177e4SLinus Torvalds /* Reported by Daniel Nouri <dpunktnpunkt@web.de> */ 3181da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0205, 0x0205, 3191da177e4SLinus Torvalds "Shuttle", 3201da177e4SLinus Torvalds "eUSB MMC Adapter", 3211da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 3221da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3231da177e4SLinus Torvalds 3241da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0007, 0x0100, 0x0200, 3251da177e4SLinus Torvalds "Sony", 3261da177e4SLinus Torvalds "Hifd", 3271da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3281da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3291da177e4SLinus Torvalds 3301da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0009, 0x0200, 0x0200, 3311da177e4SLinus Torvalds "Shuttle", 3321da177e4SLinus Torvalds "eUSB ATA/ATAPI Adapter", 3331da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3341da177e4SLinus Torvalds 3351da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000a, 0x0200, 0x0200, 3361da177e4SLinus Torvalds "Shuttle", 3371da177e4SLinus Torvalds "eUSB CompactFlash Adapter", 3381da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3391da177e4SLinus Torvalds 3401da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000B, 0x0100, 0x0100, 3411da177e4SLinus Torvalds "Shuttle", 3421da177e4SLinus Torvalds "eUSCSI Bridge", 3431da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3441da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3451da177e4SLinus Torvalds 3461da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000C, 0x0100, 0x0100, 3471da177e4SLinus Torvalds "Shuttle", 3481da177e4SLinus Torvalds "eUSCSI Bridge", 3491da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3501da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3511da177e4SLinus Torvalds 3521da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200, 3531da177e4SLinus Torvalds "Shuttle", 3541da177e4SLinus Torvalds "CD-RW Device", 3551da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3561da177e4SLinus Torvalds 3571da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 3581da177e4SLinus Torvalds * Device uses standards-violating 32-byte Bulk Command Block Wrappers and 3591da177e4SLinus Torvalds * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011. 3601da177e4SLinus Torvalds */ 3611da177e4SLinus Torvalds 3621da177e4SLinus Torvalds UNUSUAL_DEV( 0x04fc, 0x80c2, 0x0100, 0x0100, 3631da177e4SLinus Torvalds "Kobian Mercury", 3641da177e4SLinus Torvalds "Binocam DCB-132", 3651da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3661da177e4SLinus Torvalds US_FL_BULK32), 3671da177e4SLinus Torvalds 3681da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_USBAT 3691da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x1010, 0x0000, 0x9999, 370b7b1e655SDaniel Drake "Shuttle/SCM", 371b7b1e655SDaniel Drake "USBAT-02", 372b7b1e655SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 3731da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3741da177e4SLinus Torvalds #endif 3751da177e4SLinus Torvalds 3761da177e4SLinus Torvalds /* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */ 3771da177e4SLinus Torvalds UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133, 3781da177e4SLinus Torvalds "Belkin", 3791da177e4SLinus Torvalds "USB SCSI Adaptor", 3801da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3811da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3821da177e4SLinus Torvalds 3831da177e4SLinus Torvalds /* Iomega Clik! Drive 3841da177e4SLinus Torvalds * Reported by David Chatenay <dchatenay@hotmail.com> 3851da177e4SLinus Torvalds * The reason this is needed is not fully known. 3861da177e4SLinus Torvalds */ 3871da177e4SLinus Torvalds UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, 3881da177e4SLinus Torvalds "Iomega", 3891da177e4SLinus Torvalds "USB Clik! 40", 3901da177e4SLinus Torvalds US_SC_8070, US_PR_BULK, NULL, 3911da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 3921da177e4SLinus Torvalds 3931da177e4SLinus Torvalds /* Yakumo Mega Image 37 3941da177e4SLinus Torvalds * Submitted by Stephan Fuhrmann <atomenergie@t-online.de> */ 3951da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1801, 0x0100, 0x0100, 3961da177e4SLinus Torvalds "Tekom Technologies, Inc", 3971da177e4SLinus Torvalds "300_CAMERA", 3981da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3991da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4001da177e4SLinus Torvalds 4011da177e4SLinus Torvalds /* Another Yakumo camera. 4021da177e4SLinus Torvalds * Reported by Michele Alzetta <michele.alzetta@aliceposta.it> */ 4031da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1804, 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 /* Reported by Iacopo Spalletti <avvisi@spalletti.it> */ 4101da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100, 4111da177e4SLinus Torvalds "Tekom Technologies, Inc", 4121da177e4SLinus Torvalds "300_CAMERA", 4131da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4141da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4151da177e4SLinus Torvalds 4161da177e4SLinus Torvalds /* Yakumo Mega Image 47 4171da177e4SLinus Torvalds * Reported by Bjoern Paetzel <kolrabi@kolrabi.de> */ 4181da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1905, 0x0100, 0x0100, 4191da177e4SLinus Torvalds "Tekom Technologies, Inc", 4201da177e4SLinus Torvalds "400_CAMERA", 4211da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4221da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4231da177e4SLinus Torvalds 4241da177e4SLinus Torvalds /* Reported by Paul Ortyl <ortylp@3miasto.net> 4251da177e4SLinus Torvalds * Note that it's similar to the device above, only different prodID */ 4261da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1911, 0x0100, 0x0100, 4271da177e4SLinus Torvalds "Tekom Technologies, Inc", 4281da177e4SLinus Torvalds "400_CAMERA", 4291da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4301da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4311da177e4SLinus Torvalds 4321da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450, 4331da177e4SLinus Torvalds "Sony", 4341da177e4SLinus Torvalds "DSC-S30/S70/S75/505V/F505/F707/F717/P8", 4351da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4361da177e4SLinus Torvalds US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), 4371da177e4SLinus Torvalds 4381da177e4SLinus Torvalds /* This entry is needed because the device reports Sub=ff */ 439ec7dc8d2SAlexandre Duret-Lutz UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0600, 4401da177e4SLinus Torvalds "Sony", 441ec7dc8d2SAlexandre Duret-Lutz "DSC-T1/T5", 4421da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 4431da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4441da177e4SLinus Torvalds 4451da177e4SLinus Torvalds 4461da177e4SLinus Torvalds /* Reported by wim@geeks.nl */ 4471da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0025, 0x0100, 0x0100, 4481da177e4SLinus Torvalds "Sony", 4491da177e4SLinus Torvalds "Memorystick NW-MS7", 4501da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4511da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4521da177e4SLinus Torvalds 4531da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 4541da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002b, 0x0100, 0x0110, 4551da177e4SLinus Torvalds "Sony", 4561da177e4SLinus Torvalds "Portable USB Harddrive V2", 4571da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 4581da177e4SLinus Torvalds 0 ), 4591da177e4SLinus Torvalds #endif 4601da177e4SLinus Torvalds 4611da177e4SLinus Torvalds /* Submitted by Olaf Hering, <olh@suse.de> SuSE Bugzilla #49049 */ 4621da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002c, 0x0501, 0x0501, 4631da177e4SLinus Torvalds "Sony", 4641da177e4SLinus Torvalds "USB Floppy Drive", 4651da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4661da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4671da177e4SLinus Torvalds 4681da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002d, 0x0100, 0x0100, 4691da177e4SLinus Torvalds "Sony", 4701da177e4SLinus Torvalds "Memorystick MSAC-US1", 4711da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4721da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4731da177e4SLinus Torvalds 4741da177e4SLinus Torvalds /* Submitted by Klaus Mueller <k.mueller@intershop.de> */ 4751da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0106, 0x0310, 4761da177e4SLinus Torvalds "Sony", 4771da177e4SLinus Torvalds "Handycam", 4781da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4791da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4801da177e4SLinus Torvalds 4811da177e4SLinus Torvalds /* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */ 4821da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0500, 0x0500, 4831da177e4SLinus Torvalds "Sony", 4841da177e4SLinus Torvalds "Handycam HC-85", 4851da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 4861da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4871da177e4SLinus Torvalds 4881da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0032, 0x0000, 0x9999, 4891da177e4SLinus Torvalds "Sony", 4901da177e4SLinus Torvalds "Memorystick MSC-U01N", 4911da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4921da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4931da177e4SLinus Torvalds 4941da177e4SLinus Torvalds /* Submitted by Michal Mlotek <mlotek@foobar.pl> */ 4951da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0058, 0x0000, 0x9999, 4961da177e4SLinus Torvalds "Sony", 4971da177e4SLinus Torvalds "PEG N760c Memorystick", 4981da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4991da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5001da177e4SLinus Torvalds 5011da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0069, 0x0000, 0x9999, 5021da177e4SLinus Torvalds "Sony", 5031da177e4SLinus Torvalds "Memorystick MSC-U03", 5041da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 5051da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 5061da177e4SLinus Torvalds 5071da177e4SLinus Torvalds /* Submitted by Nathan Babb <nathan@lexi.com> */ 5081da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x006d, 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 Mike Alborn <malborn@deandra.homeip.net> */ 5151da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x016a, 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 /* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */ 5221da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, 5231da177e4SLinus Torvalds "Sony", 5241da177e4SLinus Torvalds "PEG Mass Storage", 5251da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5261da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5271da177e4SLinus Torvalds 5281da177e4SLinus Torvalds 5291da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, 5301da177e4SLinus Torvalds "Y-E Data", 5311da177e4SLinus Torvalds "Flashbuster-U", 5321da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 5331da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5341da177e4SLinus Torvalds 5351da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0300, 0x9999, 5361da177e4SLinus Torvalds "Y-E Data", 5371da177e4SLinus Torvalds "Flashbuster-U", 5381da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5391da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5401da177e4SLinus Torvalds 5411da177e4SLinus Torvalds /* Reported by Johann Cardon <johann.cardon@free.fr> 5421da177e4SLinus Torvalds * This entry is needed only because the device reports 5431da177e4SLinus Torvalds * bInterfaceClass = 0xff (vendor-specific) 5441da177e4SLinus Torvalds */ 5451da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999, 5461da177e4SLinus Torvalds "Y-E Data", 5471da177e4SLinus Torvalds "Silicon Media R/W", 5481da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 0), 5491da177e4SLinus Torvalds 550e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 551e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x0584, 0x0008, 0x0102, 0x0102, 552e80b0fadSMatthew Dharm "Fujifilm", 553e80b0fadSMatthew Dharm "DPC-R1 (Alauda)", 554e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 555e80b0fadSMatthew Dharm #endif 556e80b0fadSMatthew Dharm 5571da177e4SLinus Torvalds /* Fabrizio Fellini <fello@libero.it> */ 5581da177e4SLinus Torvalds UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210, 5591da177e4SLinus Torvalds "Fujifilm", 5601da177e4SLinus Torvalds "Digital Camera EX-20 DSC", 5611da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 0 ), 5621da177e4SLinus Torvalds 5631da177e4SLinus Torvalds /* The entry was here before I took over, and had US_SC_RBC. It turns 5641da177e4SLinus Torvalds * out that isn't needed. Additionally, Torsten Eriksson 5651da177e4SLinus Torvalds * <Torsten.Eriksson@bergianska.se> is able to use his device fine 5661da177e4SLinus Torvalds * without this entry at all - but I don't suspect that will be true 5671da177e4SLinus Torvalds * for all users (the protocol is likely needed), so is staying at 5681da177e4SLinus Torvalds * this time. - Phil Dibowitz <phil@ipom.com> 5691da177e4SLinus Torvalds */ 5701da177e4SLinus Torvalds UNUSUAL_DEV( 0x059f, 0xa601, 0x0200, 0x0200, 5711da177e4SLinus Torvalds "LaCie", 5721da177e4SLinus Torvalds "USB Hard Disk", 5731da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 0 ), 5741da177e4SLinus Torvalds 5751da177e4SLinus Torvalds /* Submitted by Joel Bourquard <numlock@freesurf.ch> 5761da177e4SLinus Torvalds * Some versions of this device need the SubClass and Protocol overrides 5771da177e4SLinus Torvalds * while others don't. 5781da177e4SLinus Torvalds */ 5791da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110, 5801da177e4SLinus Torvalds "In-System", 5811da177e4SLinus Torvalds "PyroGate External CD-ROM Enclosure (FCD-523)", 5821da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 5831da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 5841da177e4SLinus Torvalds 5851da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 5861da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0031, 0x0100, 0x0110, 5871da177e4SLinus Torvalds "In-System", 5881da177e4SLinus Torvalds "USB/IDE Bridge (ATA/ATAPI)", 5891da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5901da177e4SLinus Torvalds 0 ), 5911da177e4SLinus Torvalds 5921da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0301, 0x0100, 0x0110, 5931da177e4SLinus Torvalds "In-System", 5941da177e4SLinus Torvalds "Portable USB Harddrive V2", 5951da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5961da177e4SLinus Torvalds 0 ), 5971da177e4SLinus Torvalds 5981da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0351, 0x0100, 0x0110, 5991da177e4SLinus Torvalds "In-System", 6001da177e4SLinus Torvalds "Portable USB Harddrive V2", 6011da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 6021da177e4SLinus Torvalds 0 ), 6031da177e4SLinus Torvalds 6041da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x5701, 0x0100, 0x0110, 6051da177e4SLinus Torvalds "In-System", 6061da177e4SLinus Torvalds "USB Storage Adapter V2", 6071da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 6081da177e4SLinus Torvalds 0 ), 6091da177e4SLinus Torvalds #endif 6101da177e4SLinus Torvalds 61135f4a0c4SSven Anderson /* Submitted by Sven Anderson <sven-linux@anderson.de> 61235f4a0c4SSven Anderson * There are at least four ProductIDs used for iPods, so I added 0x1202 and 61335f4a0c4SSven Anderson * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears 61435f4a0c4SSven Anderson * to change with firmware updates, I changed the range to maximum for all 61535f4a0c4SSven Anderson * iPod entries. 61635f4a0c4SSven Anderson */ 61735f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999, 6181da177e4SLinus Torvalds "Apple", 6191da177e4SLinus Torvalds "iPod", 6201da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6211da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6221da177e4SLinus Torvalds 62335f4a0c4SSven Anderson /* Reported by Avi Kivity <avi@argo.co.il> */ 62435f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999, 62535f4a0c4SSven Anderson "Apple", 62635f4a0c4SSven Anderson "iPod", 62735f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 62835f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 62935f4a0c4SSven Anderson 63035f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999, 63135f4a0c4SSven Anderson "Apple", 63235f4a0c4SSven Anderson "iPod", 63335f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 63435f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 63535f4a0c4SSven Anderson 63635f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999, 6371da177e4SLinus Torvalds "Apple", 6381da177e4SLinus Torvalds "iPod", 6391da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6401da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6411da177e4SLinus Torvalds 642880a9b5eSPhil Dibowitz /* 643880a9b5eSPhil Dibowitz * Reported by Tyson Vinson <lornoss@gmail.com> 644880a9b5eSPhil Dibowitz * This particular productId is the iPod Nano 645880a9b5eSPhil Dibowitz */ 646880a9b5eSPhil Dibowitz UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999, 647880a9b5eSPhil Dibowitz "Apple", 648880a9b5eSPhil Dibowitz "iPod", 649880a9b5eSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 650880a9b5eSPhil Dibowitz US_FL_FIX_CAPACITY ), 651880a9b5eSPhil Dibowitz 6521da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_JUMPSHOT 6531da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0x0001, 0x0000, 0x0001, 6541da177e4SLinus Torvalds "Lexar", 6551da177e4SLinus Torvalds "Jumpshot USB CF Reader", 6561da177e4SLinus Torvalds US_SC_SCSI, US_PR_JUMPSHOT, NULL, 6571da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 6581da177e4SLinus Torvalds #endif 6591da177e4SLinus Torvalds 6601da177e4SLinus Torvalds /* Reported by Blake Matheny <bmatheny@purdue.edu> */ 6611da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113, 6621da177e4SLinus Torvalds "Lexar", 6631da177e4SLinus Torvalds "USB CF Reader", 6641da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6651da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6661da177e4SLinus Torvalds 6671da177e4SLinus Torvalds /* The following two entries are for a Genesys USB to IDE 6681da177e4SLinus Torvalds * converter chip, but it changes its ProductId depending 6691da177e4SLinus Torvalds * on whether or not a disk or an optical device is enclosed 6701da177e4SLinus Torvalds * They were originally reported by Alexander Oltu 6711da177e4SLinus Torvalds * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com> 6721da177e4SLinus Torvalds * respectively. 6731da177e4SLinus Torvalds */ 6741da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, 6751da177e4SLinus Torvalds "Genesys Logic", 6761da177e4SLinus Torvalds "USB to IDE Optical", 6771da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6781da177e4SLinus Torvalds US_FL_GO_SLOW ), 6791da177e4SLinus Torvalds 6801da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, 6811da177e4SLinus Torvalds "Genesys Logic", 6821da177e4SLinus Torvalds "USB to IDE Disk", 6831da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6841da177e4SLinus Torvalds US_FL_GO_SLOW ), 6851da177e4SLinus Torvalds 6861da177e4SLinus Torvalds /* Reported by Hanno Boeck <hanno@gmx.de> 6871da177e4SLinus Torvalds * Taken from the Lycoris Kernel */ 6881da177e4SLinus Torvalds UNUSUAL_DEV( 0x0636, 0x0003, 0x0000, 0x9999, 6891da177e4SLinus Torvalds "Vivitar", 6901da177e4SLinus Torvalds "Vivicam 35Xx", 6911da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 6921da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6931da177e4SLinus Torvalds 6941da177e4SLinus Torvalds UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100, 6951da177e4SLinus Torvalds "TEAC", 6961da177e4SLinus Torvalds "Floppy Drive", 6971da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 0 ), 6981da177e4SLinus Torvalds 6991da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 7001da177e4SLinus Torvalds UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100, 7011da177e4SLinus Torvalds "Olympus", 7021da177e4SLinus Torvalds "Camedia MAUSB-2", 703f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 704f5b8cb9cSMatthew Dharm 0), 7051da177e4SLinus Torvalds #endif 7061da177e4SLinus Torvalds 7071da177e4SLinus Torvalds /* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */ 7081da177e4SLinus Torvalds UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, 7091da177e4SLinus Torvalds "SigmaTel", 7101da177e4SLinus Torvalds "USBMSC Audio Player", 7111da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7121da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 7131da177e4SLinus Torvalds 7141da177e4SLinus Torvalds /* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */ 7151da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x2507, 0x0100, 0x0100, 7161da177e4SLinus Torvalds "Prolific Technology Inc.", 7171da177e4SLinus Torvalds "Mass Storage Device", 7181da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7191da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7201da177e4SLinus Torvalds 7211da177e4SLinus Torvalds /* Reported by Alex Butcher <alex.butcher@assursys.co.uk> */ 7221da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0001, 7231da177e4SLinus Torvalds "Prolific Technology Inc.", 7241da177e4SLinus Torvalds "ATAPI-6 Bridge Controller", 7251da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7261da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7271da177e4SLinus Torvalds 7281da177e4SLinus Torvalds /* Submitted by Benny Sjostrand <benny@hostmobility.com> */ 7291da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001, 7301da177e4SLinus Torvalds "Minolta", 7311da177e4SLinus Torvalds "Dimage F300", 7321da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7331da177e4SLinus Torvalds 7341da177e4SLinus Torvalds /* Reported by Miguel A. Fosas <amn3s1a@ono.com> */ 7351da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001, 7361da177e4SLinus Torvalds "Minolta", 7371da177e4SLinus Torvalds "DIMAGE E223", 7381da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), 7391da177e4SLinus Torvalds 7401da177e4SLinus Torvalds UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, 7411da177e4SLinus Torvalds "Hagiwara", 7421da177e4SLinus Torvalds "Flashgate", 7431da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7441da177e4SLinus Torvalds 7451da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, 7461da177e4SLinus Torvalds "Sandisk", 7471da177e4SLinus Torvalds "ImageMate SDDR-05a", 7481da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7491da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7501da177e4SLinus Torvalds 751094ec604SDaniel Drake #ifdef CONFIG_USB_STORAGE_USBAT 752094ec604SDaniel Drake UNUSUAL_DEV( 0x0781, 0x0005, 0x0005, 0x0005, 753094ec604SDaniel Drake "Sandisk", 754094ec604SDaniel Drake "ImageMate SDDR-05b", 755094ec604SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 756094ec604SDaniel Drake US_FL_SINGLE_LUN ), 757094ec604SDaniel Drake #endif 758094ec604SDaniel Drake 7591da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100, 7601da177e4SLinus Torvalds "Sandisk", 7611da177e4SLinus Torvalds "ImageMate SDDR-12", 7621da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7631da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7641da177e4SLinus Torvalds 7651da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 7661da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999, 7671da177e4SLinus Torvalds "Sandisk", 7681da177e4SLinus Torvalds "ImageMate SDDR-09", 769f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 770f5b8cb9cSMatthew Dharm 0), 7711da177e4SLinus Torvalds #endif 7721da177e4SLinus Torvalds 7731da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_FREECOM 7741da177e4SLinus Torvalds UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999, 7751da177e4SLinus Torvalds "Freecom", 7761da177e4SLinus Torvalds "USB-IDE", 7771da177e4SLinus Torvalds US_SC_QIC, US_PR_FREECOM, freecom_init, 0), 7781da177e4SLinus Torvalds #endif 7791da177e4SLinus Torvalds 7801da177e4SLinus Torvalds /* Reported by Eero Volotinen <eero@ping-viini.org> */ 781e5278320SPhil Dibowitz UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x9999, 7821da177e4SLinus Torvalds "Freecom Technologies", 7831da177e4SLinus Torvalds "FHD-Classic", 7841da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7851da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 7861da177e4SLinus Torvalds 7871da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133, 7881da177e4SLinus Torvalds "Microtech", 7891da177e4SLinus Torvalds "USB-SCSI-DB25", 7901da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 7911da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7921da177e4SLinus Torvalds 7931da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, 7941da177e4SLinus Torvalds "Microtech", 7951da177e4SLinus Torvalds "USB-SCSI-HD50", 796e8116e84SPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 7971da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7981da177e4SLinus Torvalds 7991da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DPCM 8001da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, 8011da177e4SLinus Torvalds "Microtech", 8021da177e4SLinus Torvalds "CameraMate (DPCM_USB)", 8031da177e4SLinus Torvalds US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), 8041da177e4SLinus Torvalds #endif 8051da177e4SLinus Torvalds 806e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 807e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x07b4, 0x010a, 0x0102, 0x0102, 808e80b0fadSMatthew Dharm "Olympus", 809e80b0fadSMatthew Dharm "MAUSB-10 (Alauda)", 810e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 811e80b0fadSMatthew Dharm #endif 812e80b0fadSMatthew Dharm 8131da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8141da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa000, 0x0000, 0x0015, 8151da177e4SLinus Torvalds "Datafab", 8161da177e4SLinus Torvalds "MDCFE-B USB CF Reader", 8171da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8181da177e4SLinus Torvalds 0 ), 8191da177e4SLinus Torvalds 8201da177e4SLinus Torvalds /* 8211da177e4SLinus Torvalds * The following Datafab-based devices may or may not work 8221da177e4SLinus Torvalds * using the current driver...the 0xffff is arbitrary since I 8231da177e4SLinus Torvalds * don't know what device versions exist for these guys. 8241da177e4SLinus Torvalds * 8251da177e4SLinus Torvalds * The 0xa003 and 0xa004 devices in particular I'm curious about. 8261da177e4SLinus Torvalds * I'm told they exist but so far nobody has come forward to say that 8271da177e4SLinus Torvalds * they work with this driver. Given the success we've had getting 8281da177e4SLinus Torvalds * other Datafab-based cards operational with this driver, I've decided 8291da177e4SLinus Torvalds * to leave these two devices in the list. 8301da177e4SLinus Torvalds */ 8311da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa001, 0x0000, 0xffff, 8321da177e4SLinus Torvalds "SIIG/Datafab", 8331da177e4SLinus Torvalds "SIIG/Datafab Memory Stick+CF Reader/Writer", 8341da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8351da177e4SLinus Torvalds 0 ), 8361da177e4SLinus Torvalds 8371da177e4SLinus Torvalds /* Reported by Josef Reisinger <josef.reisinger@netcologne.de> */ 8381da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa002, 0x0000, 0xffff, 8391da177e4SLinus Torvalds "Datafab/Unknown", 8401da177e4SLinus Torvalds "MD2/MD3 Disk enclosure", 8411da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8421da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8431da177e4SLinus Torvalds 8441da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa003, 0x0000, 0xffff, 8451da177e4SLinus Torvalds "Datafab/Unknown", 8461da177e4SLinus Torvalds "Datafab-based Reader", 8471da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8481da177e4SLinus Torvalds 0 ), 8491da177e4SLinus Torvalds 8501da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa004, 0x0000, 0xffff, 8511da177e4SLinus Torvalds "Datafab/Unknown", 8521da177e4SLinus Torvalds "Datafab-based Reader", 8531da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8541da177e4SLinus Torvalds 0 ), 8551da177e4SLinus Torvalds 8561da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa005, 0x0000, 0xffff, 8571da177e4SLinus Torvalds "PNY/Datafab", 8581da177e4SLinus Torvalds "PNY/Datafab CF+SM Reader", 8591da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8601da177e4SLinus Torvalds 0 ), 8611da177e4SLinus Torvalds 8621da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa006, 0x0000, 0xffff, 8631da177e4SLinus Torvalds "Simple Tech/Datafab", 8641da177e4SLinus Torvalds "Simple Tech/Datafab CF+SM Reader", 8651da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8661da177e4SLinus Torvalds 0 ), 8671da177e4SLinus Torvalds #endif 8681da177e4SLinus Torvalds 8691da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8701da177e4SLinus Torvalds /* Contributed by Peter Waechtler */ 8711da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa103, 0x0000, 0x9999, 8721da177e4SLinus Torvalds "Datafab", 8731da177e4SLinus Torvalds "MDSM-B reader", 8741da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8751da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 8761da177e4SLinus Torvalds #endif 8771da177e4SLinus Torvalds 8781da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8791da177e4SLinus Torvalds /* Submitted by Olaf Hering <olh@suse.de> */ 8801da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8811da177e4SLinus Torvalds "Datafab Systems, Inc.", 8821da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8831da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8841da177e4SLinus Torvalds 0 ), 8851da177e4SLinus Torvalds #endif 8861da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8871da177e4SLinus Torvalds /* SM part - aeb <Andries.Brouwer@cwi.nl> */ 8881da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8891da177e4SLinus Torvalds "Datafab Systems, Inc.", 8901da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8911da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8921da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8931da177e4SLinus Torvalds #endif 8941da177e4SLinus Torvalds 895d6427cf7Sfelix@derklecks.de #ifdef CONFIG_USB_STORAGE_DATAFAB 896d6427cf7Sfelix@derklecks.de /* Reported by Felix Moeller <felix@derklecks.de> 897d6427cf7Sfelix@derklecks.de * in Germany this is sold by Hama with the productnumber 46952 898d6427cf7Sfelix@derklecks.de * as "DualSlot CompactFlash(TM) & MStick Drive USB" 899d6427cf7Sfelix@derklecks.de */ 900d6427cf7Sfelix@derklecks.de UNUSUAL_DEV( 0x07c4, 0xa10b, 0x0000, 0xffff, 901d6427cf7Sfelix@derklecks.de "DataFab Systems Inc.", 902d6427cf7Sfelix@derklecks.de "USB CF+MS", 903d6427cf7Sfelix@derklecks.de US_SC_SCSI, US_PR_DATAFAB, NULL, 904d6427cf7Sfelix@derklecks.de 0 ), 905d6427cf7Sfelix@derklecks.de 906d6427cf7Sfelix@derklecks.de #endif 907d6427cf7Sfelix@derklecks.de 9081da177e4SLinus Torvalds /* Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100 9091da177e4SLinus Torvalds * Only revision 1.13 tested (same for all of the above devices, 9101da177e4SLinus Torvalds * based on the Datafab DF-UG-07 chip). Needed for US_FL_FIX_INQUIRY. 9111da177e4SLinus Torvalds * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>. 9121da177e4SLinus Torvalds * See also http://martin.wilck.bei.t-online.de/#kecf . 9131da177e4SLinus Torvalds */ 9141da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa400, 0x0000, 0xffff, 9151da177e4SLinus Torvalds "Datafab", 9161da177e4SLinus Torvalds "KECF-USB", 9171da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9181da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9191da177e4SLinus Torvalds 9201da177e4SLinus Torvalds /* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant 9211da177e4SLinus Torvalds * to the USB storage specification in two ways: 9221da177e4SLinus Torvalds * - They tell us they are using transport protocol CBI. In reality they 9231da177e4SLinus Torvalds * are using transport protocol CB. 9241da177e4SLinus Torvalds * - They don't like the INQUIRY command. So we must handle this command 9251da177e4SLinus Torvalds * of the SCSI layer ourselves. 9261da177e4SLinus Torvalds * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have 9271da177e4SLinus Torvalds * bInterfaceProtocol=0x00 (US_PR_CBI) while others have 0x01 (US_PR_CB). 9281da177e4SLinus Torvalds * So don't remove the US_PR_CB override! 9291da177e4SLinus Torvalds * - Cameras with bcdDevice=0x9009 require the US_SC_8070 override. 9301da177e4SLinus Torvalds */ 9311da177e4SLinus Torvalds UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999, 9321da177e4SLinus Torvalds "Casio", 9331da177e4SLinus Torvalds "QV DigitalCamera", 9341da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 9351da177e4SLinus Torvalds US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ), 9361da177e4SLinus Torvalds 9371da177e4SLinus Torvalds /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/ 9381da177e4SLinus Torvalds UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001, 9391da177e4SLinus Torvalds "Samsung", 9401da177e4SLinus Torvalds "Digimax 410", 9411da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9421da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 9431da177e4SLinus Torvalds 9441da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 9451da177e4SLinus Torvalds * Flag will support Bulk devices which use a standards-violating 32-byte 9461da177e4SLinus Torvalds * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with 9471da177e4SLinus Torvalds * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support. 9481da177e4SLinus Torvalds */ 9491da177e4SLinus Torvalds 9501da177e4SLinus Torvalds UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x0110, 9511da177e4SLinus Torvalds "Grandtech", 9521da177e4SLinus Torvalds "DC2MEGA", 9531da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9541da177e4SLinus Torvalds US_FL_BULK32), 9551da177e4SLinus Torvalds 956ba3e93adSAlan Stern /* Submitted by Jan De Luyck <lkml@kcore.org> */ 957ba3e93adSAlan Stern UNUSUAL_DEV( 0x08bd, 0x1100, 0x0000, 0x0000, 958ba3e93adSAlan Stern "CITIZEN", 959ba3e93adSAlan Stern "X1DE-USB", 960ba3e93adSAlan Stern US_SC_DEVICE, US_PR_DEVICE, NULL, 961ba3e93adSAlan Stern US_FL_SINGLE_LUN), 9621da177e4SLinus Torvalds 9631da177e4SLinus Torvalds /* Entry needed for flags. Moreover, all devices with this ID use 9641da177e4SLinus Torvalds * bulk-only transport, but _some_ falsely report Control/Bulk instead. 9651da177e4SLinus Torvalds * One example is "Trumpion Digital Research MYMP3". 9661da177e4SLinus Torvalds * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de> 9671da177e4SLinus Torvalds */ 9681da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100, 9691da177e4SLinus Torvalds "Trumpion", 9701da177e4SLinus Torvalds "t33520 USB Flash Card Controller", 9711da177e4SLinus Torvalds US_SC_DEVICE, US_PR_BULK, NULL, 9721da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 9731da177e4SLinus Torvalds 9741724757eSPhil Dibowitz /* Reported by Filippo Bardelli <filibard@libero.it> 9751724757eSPhil Dibowitz * The device reports a subclass of RBC, which is wrong. 9761724757eSPhil Dibowitz */ 9771724757eSPhil Dibowitz UNUSUAL_DEV( 0x090a, 0x1050, 0x0100, 0x0100, 9781724757eSPhil Dibowitz "Trumpion Microelectronics, Inc.", 9791724757eSPhil Dibowitz "33520 USB Digital Voice Recorder", 9801724757eSPhil Dibowitz US_SC_UFI, US_PR_DEVICE, NULL, 9811724757eSPhil Dibowitz 0), 9821724757eSPhil Dibowitz 9831da177e4SLinus Torvalds /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */ 9841da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999, 9851da177e4SLinus Torvalds "Trumpion", 9861da177e4SLinus Torvalds "MP3 player", 9871da177e4SLinus Torvalds US_SC_RBC, US_PR_BULK, NULL, 9881da177e4SLinus Torvalds 0 ), 9891da177e4SLinus Torvalds 9901da177e4SLinus Torvalds /* aeb */ 9911da177e4SLinus Torvalds UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff, 9921da177e4SLinus Torvalds "Feiya", 9931da177e4SLinus Torvalds "5-in-1 Card Reader", 9941da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9951da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 9961da177e4SLinus Torvalds 9971da177e4SLinus Torvalds /* This Pentax still camera is not conformant 9981da177e4SLinus Torvalds * to the USB storage specification: - 9991da177e4SLinus Torvalds * - It does not like the INQUIRY command. So we must handle this command 10001da177e4SLinus Torvalds * of the SCSI layer ourselves. 10011da177e4SLinus Torvalds * Tested on Rev. 10.00 (0x1000) 10021da177e4SLinus Torvalds * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk> 10031da177e4SLinus Torvalds */ 10041da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000, 10051da177e4SLinus Torvalds "Pentax", 10061da177e4SLinus Torvalds "Optio 2/3/400", 10071da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10081da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10091da177e4SLinus Torvalds 10101da177e4SLinus Torvalds 10111da177e4SLinus Torvalds /* Submitted by Per Winkvist <per.winkvist@uk.com> */ 10121da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x006, 0x0000, 0xffff, 10131da177e4SLinus Torvalds "Pentax", 10141da177e4SLinus Torvalds "Optio S/S4", 10151da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10161da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10171da177e4SLinus Torvalds 10181da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 10191da177e4SLinus Torvalds UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, 10201da177e4SLinus Torvalds "ATI", 10211da177e4SLinus Torvalds "USB Cable 205", 10221da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 10231da177e4SLinus Torvalds 0 ), 10241da177e4SLinus Torvalds #endif 10251da177e4SLinus Torvalds 10261da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 10271da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10281da177e4SLinus Torvalds "Acomdata", 10291da177e4SLinus Torvalds "CF", 10301da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 10311da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10321da177e4SLinus Torvalds #endif 10331da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 10341da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10351da177e4SLinus Torvalds "Acomdata", 10361da177e4SLinus Torvalds "SM", 10371da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 10381da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10391da177e4SLinus Torvalds #endif 10401da177e4SLinus Torvalds 104134008dbfSMatthew Dharm /* Submitted by: Nick Sillik <n.sillik@temple.edu> 104234008dbfSMatthew Dharm * Needed for OneTouch extension to usb-storage 104334008dbfSMatthew Dharm * 104434008dbfSMatthew Dharm */ 104534008dbfSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ONETOUCH 104694656639SAntti Andreimann UNUSUAL_DEV( 0x0d49, 0x7000, 0x0000, 0x9999, 104794656639SAntti Andreimann "Maxtor", 104894656639SAntti Andreimann "OneTouch External Harddrive", 104994656639SAntti Andreimann US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 105094656639SAntti Andreimann 0), 105134008dbfSMatthew Dharm UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, 105234008dbfSMatthew Dharm "Maxtor", 105334008dbfSMatthew Dharm "OneTouch External Harddrive", 105434008dbfSMatthew Dharm US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 105534008dbfSMatthew Dharm 0), 105634008dbfSMatthew Dharm #endif 105734008dbfSMatthew Dharm 10581da177e4SLinus Torvalds /* Submitted by Joris Struyve <joris@struyve.be> */ 10591da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff, 10601da177e4SLinus Torvalds "Medion", 10611da177e4SLinus Torvalds "MD 7425", 10621da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10631da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 10641da177e4SLinus Torvalds 10651da177e4SLinus Torvalds /* 10661da177e4SLinus Torvalds * Entry for Jenoptik JD 5200z3 10671da177e4SLinus Torvalds * 10681da177e4SLinus Torvalds * email: car.busse@gmx.de 10691da177e4SLinus Torvalds */ 10701da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x5200, 0x0001, 0x0200, 10711da177e4SLinus Torvalds "Jenoptik", 10721da177e4SLinus Torvalds "JD 5200 z3", 10731da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 10741da177e4SLinus Torvalds 10751da177e4SLinus Torvalds /* Reported by Lubomir Blaha <tritol@trilogic.cz> 10761da177e4SLinus Torvalds * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this 10771da177e4SLinus Torvalds * works for me. Can anybody correct these values? (I able to test corrected 10781da177e4SLinus Torvalds * version.) 10791da177e4SLinus Torvalds */ 10801da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff, 10811da177e4SLinus Torvalds "Netac", 10821da177e4SLinus Torvalds "USB-CF-Card", 10831da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10841da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10851da177e4SLinus Torvalds 10861da177e4SLinus Torvalds /* Patch by Stephan Walter <stephan.walter@epfl.ch> 10871da177e4SLinus Torvalds * I don't know why, but it works... */ 10881da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012, 10891da177e4SLinus Torvalds "WINWARD", 10901da177e4SLinus Torvalds "Music Disk", 10911da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10921da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10931da177e4SLinus Torvalds 10941da177e4SLinus Torvalds /* Reported by Ian McConnell <ian at emit.demon.co.uk> */ 10951da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0301, 0x0012, 0x0012, 10961da177e4SLinus Torvalds "PNP_MP3", 10971da177e4SLinus Torvalds "PNP_MP3 PLAYER", 10981da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10991da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11001da177e4SLinus Torvalds 11011da177e4SLinus Torvalds /* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */ 11021da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300, 11031da177e4SLinus Torvalds "USB", 11041da177e4SLinus Torvalds "Solid state disk", 11051da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11061da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 11071da177e4SLinus Torvalds 11081da177e4SLinus Torvalds /* Submitted by Daniel Drake <dsd@gentoo.org> 11091da177e4SLinus Torvalds * Reported by dayul on the Gentoo Forums */ 11101da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x2168, 0x0110, 0x0110, 11111da177e4SLinus Torvalds "Ours Technology", 11121da177e4SLinus Torvalds "Flash Disk", 11131da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11141da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11151da177e4SLinus Torvalds 11161da177e4SLinus Torvalds /* Reported by Rastislav Stanik <rs_kernel@yahoo.com> */ 11171da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110, 11181da177e4SLinus Torvalds "USB", 11191da177e4SLinus Torvalds "Flash Disk", 11201da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11211da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11221da177e4SLinus Torvalds 11231da177e4SLinus Torvalds /* Reported by Michael Stattmann <michael@stattmann.com> */ 11241da177e4SLinus Torvalds UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, 11251da177e4SLinus Torvalds "Sony Ericsson", 11261da177e4SLinus Torvalds "V800-Vodafone 802", 11271da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11281da177e4SLinus Torvalds US_FL_NO_WP_DETECT ), 11291da177e4SLinus Torvalds 11301da177e4SLinus Torvalds /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> 11311da177e4SLinus Torvalds * Tested on hardware version 1.10. 11321da177e4SLinus Torvalds * Entry is needed only for the initializer function override. 11331da177e4SLinus Torvalds */ 11341da177e4SLinus Torvalds UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x9999, 11351da177e4SLinus Torvalds "Desknote", 11361da177e4SLinus Torvalds "UCR-61S2B", 11371da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init, 11381da177e4SLinus Torvalds 0 ), 11391da177e4SLinus Torvalds 11407b1cbebaSPhil Dibowitz /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ 11417b1cbebaSPhil Dibowitz UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001, 11427b1cbebaSPhil Dibowitz "Minolta", 11437b1cbebaSPhil Dibowitz "Dimage Z10", 11447b1cbebaSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 11457b1cbebaSPhil Dibowitz 0 ), 11467b1cbebaSPhil Dibowitz 11471da177e4SLinus Torvalds /* Reported by Kotrla Vitezslav <kotrla@ceb.cz> */ 11481da177e4SLinus Torvalds UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, 11491da177e4SLinus Torvalds "SWISSBIT", 11501da177e4SLinus Torvalds "Black Silver", 11511da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11521da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11531da177e4SLinus Torvalds 11541da177e4SLinus Torvalds /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ 11551da177e4SLinus Torvalds UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, 11561da177e4SLinus Torvalds "MPIO", 11571da177e4SLinus Torvalds "HS200", 11581da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11591da177e4SLinus Torvalds US_FL_GO_SLOW ), 11601da177e4SLinus Torvalds 116163dc3ff3SDavid Härdeman /* 116263dc3ff3SDavid Härdeman * David H�rdeman <david@2gen.com> 116363dc3ff3SDavid Härdeman * The key makes the SCSI stack print confusing (but harmless) messages 116463dc3ff3SDavid Härdeman */ 116563dc3ff3SDavid Härdeman UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100, 116663dc3ff3SDavid Härdeman "Iomega", 116763dc3ff3SDavid Härdeman "Micro Mini 1GB", 116863dc3ff3SDavid Härdeman US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), 116963dc3ff3SDavid Härdeman 11701da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 11711da177e4SLinus Torvalds UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x9999, 11721da177e4SLinus Torvalds "Sandisk", 11731da177e4SLinus Torvalds "ImageMate SDDR55", 11741da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 11751da177e4SLinus Torvalds US_FL_SINGLE_LUN), 11761da177e4SLinus Torvalds #endif 1177a00828e9SPete Zaitcev 1178a2149bceSAlan Stern /* Reported by Andrew Simmons <andrew.simmons@gmail.com> */ 1179a2149bceSAlan Stern UNUSUAL_DEV( 0xed06, 0x4500, 0x0001, 0x0001, 1180a2149bceSAlan Stern "DataStor", 1181a2149bceSAlan Stern "USB4500 FW1.04", 1182a2149bceSAlan Stern US_SC_DEVICE, US_PR_DEVICE, NULL, 1183a2149bceSAlan Stern US_FL_FIX_CAPACITY), 1184a2149bceSAlan Stern 1185a00828e9SPete Zaitcev /* Control/Bulk transport for all SubClass values */ 1186a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR), 1187a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR), 1188a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CB, USB_US_TYPE_STOR), 1189a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CB, USB_US_TYPE_STOR), 1190a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CB, USB_US_TYPE_STOR), 1191a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CB, USB_US_TYPE_STOR), 1192a00828e9SPete Zaitcev 1193a00828e9SPete Zaitcev /* Control/Bulk/Interrupt transport for all SubClass values */ 1194a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CBI, USB_US_TYPE_STOR), 1195a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CBI, USB_US_TYPE_STOR), 1196a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CBI, USB_US_TYPE_STOR), 1197a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CBI, USB_US_TYPE_STOR), 1198a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CBI, USB_US_TYPE_STOR), 1199a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CBI, USB_US_TYPE_STOR), 1200a00828e9SPete Zaitcev 1201a00828e9SPete Zaitcev /* Bulk-only transport for all SubClass values */ 1202a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_BULK, USB_US_TYPE_STOR), 1203a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_BULK, USB_US_TYPE_STOR), 1204a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_BULK, USB_US_TYPE_STOR), 1205a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_BULK, USB_US_TYPE_STOR), 1206a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_BULK, USB_US_TYPE_STOR), 1207a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_BULK, 0), 1208