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 92*3e220e95SPhil Dibowitz /* Patch submitted by Mihnea-Costin Grigore <mihnea@zulu.ro> */ 93*3e220e95SPhil Dibowitz UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003, 94*3e220e95SPhil Dibowitz "VIA Technologies Inc.", 95*3e220e95SPhil Dibowitz "USB 2.0 Card Reader", 96*3e220e95SPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 97*3e220e95SPhil Dibowitz US_FL_IGNORE_RESIDUE ), 98*3e220e95SPhil 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 1481da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1491da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0100, 0x0100, 0x0100, 1501da177e4SLinus Torvalds "Kyocera", 1511da177e4SLinus Torvalds "Finecam S3x", 1521da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1531da177e4SLinus Torvalds 1541da177e4SLinus Torvalds /* Patch submitted by Philipp Friedrich <philipp@void.at> */ 1551da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0101, 0x0100, 0x0100, 1561da177e4SLinus Torvalds "Kyocera", 1571da177e4SLinus Torvalds "Finecam S4", 1581da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 1591da177e4SLinus Torvalds 1601da177e4SLinus Torvalds /* Patch submitted by Stephane Galles <stephane.galles@free.fr> */ 1611da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100, 1621da177e4SLinus Torvalds "Kyocera", 1631da177e4SLinus Torvalds "Finecam S5", 1641da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 1651da177e4SLinus Torvalds 1661da177e4SLinus Torvalds /* Patch for Kyocera Finecam L3 1671da177e4SLinus Torvalds * Submitted by Michael Krauth <michael.krauth@web.de> 1681da177e4SLinus Torvalds * and Alessandro Fracchetti <al.fracchetti@tin.it> 1691da177e4SLinus Torvalds */ 1701da177e4SLinus Torvalds UNUSUAL_DEV( 0x0482, 0x0105, 0x0100, 0x0100, 1711da177e4SLinus Torvalds "Kyocera", 1721da177e4SLinus Torvalds "Finecam L3", 1731da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 1741da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 1751da177e4SLinus Torvalds 1761da177e4SLinus Torvalds /* Reported by Paul Stewart <stewart@wetlogic.net> 1771da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 1781da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001, 1791da177e4SLinus Torvalds "Hitachi", 1801da177e4SLinus Torvalds "DVD-CAM DZ-MV100A Camcorder", 1811da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN), 1821da177e4SLinus Torvalds 1831da177e4SLinus Torvalds /* Reported by Andreas Bockhold <andreas@bockionline.de> */ 1841da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b0, 0x0405, 0x0100, 0x0100, 1851da177e4SLinus Torvalds "NIKON", 1861da177e4SLinus Torvalds "NIKON DSC D70", 1871da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 1881da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 1891da177e4SLinus Torvalds 19017fa6e55Sfabien COSSE /* Patch for Nikon coolpix 2000 19117fa6e55Sfabien COSSE * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>*/ 19217fa6e55Sfabien COSSE UNUSUAL_DEV( 0x04b0, 0x0301, 0x0010, 0x0010, 19317fa6e55Sfabien COSSE "NIKON", 19417fa6e55Sfabien COSSE "NIKON DSC E2000", 19517fa6e55Sfabien COSSE US_SC_DEVICE, US_PR_DEVICE,NULL, 19617fa6e55Sfabien COSSE US_FL_NOT_LOCKABLE ), 19717fa6e55Sfabien COSSE 1981da177e4SLinus Torvalds /* BENQ DC5330 1991da177e4SLinus Torvalds * Reported by Manuel Fombuena <mfombuena@ya.com> and 2001da177e4SLinus Torvalds * Frank Copeland <fjc@thingy.apana.org.au> */ 2011da177e4SLinus Torvalds UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x0100, 2021da177e4SLinus Torvalds "Tekom Technologies, Inc", 2031da177e4SLinus Torvalds "300_CAMERA", 2041da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2051da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 2061da177e4SLinus Torvalds 2071da177e4SLinus Torvalds /* Reported by Simon Levitt <simon@whattf.com> 2081da177e4SLinus Torvalds * This entry needs Sub and Proto fields */ 2091da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0601, 0x0100, 0x0100, 2101da177e4SLinus Torvalds "Epson", 2111da177e4SLinus Torvalds "875DC Storage", 2121da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, US_FL_FIX_INQUIRY), 2131da177e4SLinus Torvalds 2141da177e4SLinus Torvalds /* Reported by Khalid Aziz <khalid@gonehiking.org> 2151da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff */ 2161da177e4SLinus Torvalds UNUSUAL_DEV( 0x04b8, 0x0602, 0x0110, 0x0110, 2171da177e4SLinus Torvalds "Epson", 2181da177e4SLinus Torvalds "785EPX Storage", 2191da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, US_FL_SINGLE_LUN), 2201da177e4SLinus Torvalds 2211da177e4SLinus Torvalds /* Not sure who reported this originally but 2221da177e4SLinus Torvalds * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN 2231da177e4SLinus Torvalds * flag be added */ 2241da177e4SLinus Torvalds UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210, 2251da177e4SLinus Torvalds "Fujifilm", 2261da177e4SLinus Torvalds "FinePix 1400Zoom", 2271da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN), 2281da177e4SLinus Torvalds 2291da177e4SLinus Torvalds /* Reported by Peter W�chtler <pwaechtler@loewe-komp.de> 2301da177e4SLinus Torvalds * The device needs the flags only. 2311da177e4SLinus Torvalds */ 2321da177e4SLinus Torvalds UNUSUAL_DEV( 0x04ce, 0x0002, 0x0074, 0x0074, 2331da177e4SLinus Torvalds "ScanLogic", 2341da177e4SLinus Torvalds "SL11R-IDE", 2351da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2361da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 2371da177e4SLinus Torvalds 2381da177e4SLinus Torvalds /* Reported by Kriston Fincher <kriston@airmail.net> 2391da177e4SLinus Torvalds * Patch submitted by Sean Millichamp <sean@bruenor.org> 2401da177e4SLinus Torvalds * This is to support the Panasonic PalmCam PV-SD4090 2411da177e4SLinus Torvalds * This entry is needed because the device reports Sub=ff 2421da177e4SLinus Torvalds */ 2431da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0901, 0x0100, 0x0200, 2441da177e4SLinus Torvalds "Panasonic", 2451da177e4SLinus Torvalds "LS-120 Camera", 2461da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 0), 2471da177e4SLinus Torvalds 2481da177e4SLinus Torvalds /* From Yukihiro Nakai, via zaitcev@yahoo.com. 2491da177e4SLinus Torvalds * This is needed for CB instead of CBI */ 2501da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x0d05, 0x0000, 0x0000, 2511da177e4SLinus Torvalds "Sharp CE-CW05", 2521da177e4SLinus Torvalds "CD-R/RW Drive", 2531da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 0), 2541da177e4SLinus Torvalds 2551da177e4SLinus Torvalds /* Reported by Adriaan Penning <a.penning@luon.net> */ 2561da177e4SLinus Torvalds UNUSUAL_DEV( 0x04da, 0x2372, 0x0000, 0x9999, 2571da177e4SLinus Torvalds "Panasonic", 2581da177e4SLinus Torvalds "DMC-LCx Camera", 2591da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 2601da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 2611da177e4SLinus Torvalds 262dcab4eafSSimeon Simeonov /* Reported by Simeon Simeonov <simeonov_2000@yahoo.com> */ 263dcab4eafSSimeon Simeonov UNUSUAL_DEV( 0x04da, 0x2373, 0x0000, 0x9999, 264dcab4eafSSimeon Simeonov "LEICA", 265dcab4eafSSimeon Simeonov "D-LUX Camera", 266dcab4eafSSimeon Simeonov US_SC_DEVICE, US_PR_DEVICE, NULL, 267dcab4eafSSimeon Simeonov US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ), 268dcab4eafSSimeon Simeonov 2691da177e4SLinus Torvalds /* Most of the following entries were developed with the help of 2701da177e4SLinus Torvalds * Shuttle/SCM directly. 2711da177e4SLinus Torvalds */ 2721da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200, 2731da177e4SLinus Torvalds "Matshita", 2741da177e4SLinus Torvalds "LS-120", 2751da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 2761da177e4SLinus Torvalds 2771da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100, 2781da177e4SLinus Torvalds "Shuttle", 2791da177e4SLinus Torvalds "eUSCSI Bridge", 2801da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 2811da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 2821da177e4SLinus Torvalds 2831da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 2841da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0003, 0x0000, 0x9999, 2851da177e4SLinus Torvalds "Sandisk", 2861da177e4SLinus Torvalds "ImageMate SDDR09", 287f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 288f5b8cb9cSMatthew Dharm 0), 2891da177e4SLinus Torvalds 2901da177e4SLinus Torvalds /* This entry is from Andries.Brouwer@cwi.nl */ 2911da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208, 2921da177e4SLinus Torvalds "SCM Microsystems", 2931da177e4SLinus Torvalds "eUSB SmartMedia / CompactFlash Adapter", 294f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_DPCM_USB, usb_stor_sddr09_dpcm_init, 2951da177e4SLinus Torvalds 0), 2961da177e4SLinus Torvalds #endif 2971da177e4SLinus Torvalds 2981da177e4SLinus Torvalds /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */ 2991da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0100, 0x0100, 3001da177e4SLinus Torvalds "SCM Microsystems Inc.", 3011da177e4SLinus Torvalds "eUSB MMC Adapter", 3021da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3031da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3041da177e4SLinus Torvalds 3051da177e4SLinus Torvalds /* Reported by Daniel Nouri <dpunktnpunkt@web.de> */ 3061da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0006, 0x0205, 0x0205, 3071da177e4SLinus Torvalds "Shuttle", 3081da177e4SLinus Torvalds "eUSB MMC Adapter", 3091da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 3101da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3111da177e4SLinus Torvalds 3121da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0007, 0x0100, 0x0200, 3131da177e4SLinus Torvalds "Sony", 3141da177e4SLinus Torvalds "Hifd", 3151da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 3161da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3171da177e4SLinus Torvalds 3181da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0009, 0x0200, 0x0200, 3191da177e4SLinus Torvalds "Shuttle", 3201da177e4SLinus Torvalds "eUSB ATA/ATAPI Adapter", 3211da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3221da177e4SLinus Torvalds 3231da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000a, 0x0200, 0x0200, 3241da177e4SLinus Torvalds "Shuttle", 3251da177e4SLinus Torvalds "eUSB CompactFlash Adapter", 3261da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000B, 0x0100, 0x0100, 3291da177e4SLinus Torvalds "Shuttle", 3301da177e4SLinus Torvalds "eUSCSI Bridge", 3311da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3321da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3331da177e4SLinus Torvalds 3341da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x000C, 0x0100, 0x0100, 3351da177e4SLinus Torvalds "Shuttle", 3361da177e4SLinus Torvalds "eUSCSI Bridge", 3371da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3381da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3391da177e4SLinus Torvalds 3401da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200, 3411da177e4SLinus Torvalds "Shuttle", 3421da177e4SLinus Torvalds "CD-RW Device", 3431da177e4SLinus Torvalds US_SC_8020, US_PR_CB, NULL, 0), 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 3461da177e4SLinus Torvalds * Device uses standards-violating 32-byte Bulk Command Block Wrappers and 3471da177e4SLinus Torvalds * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011. 3481da177e4SLinus Torvalds */ 3491da177e4SLinus Torvalds 3501da177e4SLinus Torvalds UNUSUAL_DEV( 0x04fc, 0x80c2, 0x0100, 0x0100, 3511da177e4SLinus Torvalds "Kobian Mercury", 3521da177e4SLinus Torvalds "Binocam DCB-132", 3531da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3541da177e4SLinus Torvalds US_FL_BULK32), 3551da177e4SLinus Torvalds 3561da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_USBAT 3571da177e4SLinus Torvalds UNUSUAL_DEV( 0x04e6, 0x1010, 0x0000, 0x9999, 358b7b1e655SDaniel Drake "Shuttle/SCM", 359b7b1e655SDaniel Drake "USBAT-02", 360b7b1e655SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 3611da177e4SLinus Torvalds US_FL_SINGLE_LUN), 3621da177e4SLinus Torvalds #endif 3631da177e4SLinus Torvalds 3641da177e4SLinus Torvalds /* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */ 3651da177e4SLinus Torvalds UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133, 3661da177e4SLinus Torvalds "Belkin", 3671da177e4SLinus Torvalds "USB SCSI Adaptor", 3681da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 3691da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 3701da177e4SLinus Torvalds 3711da177e4SLinus Torvalds /* Iomega Clik! Drive 3721da177e4SLinus Torvalds * Reported by David Chatenay <dchatenay@hotmail.com> 3731da177e4SLinus Torvalds * The reason this is needed is not fully known. 3741da177e4SLinus Torvalds */ 3751da177e4SLinus Torvalds UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, 3761da177e4SLinus Torvalds "Iomega", 3771da177e4SLinus Torvalds "USB Clik! 40", 3781da177e4SLinus Torvalds US_SC_8070, US_PR_BULK, NULL, 3791da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 3801da177e4SLinus Torvalds 3811da177e4SLinus Torvalds /* Yakumo Mega Image 37 3821da177e4SLinus Torvalds * Submitted by Stephan Fuhrmann <atomenergie@t-online.de> */ 3831da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1801, 0x0100, 0x0100, 3841da177e4SLinus Torvalds "Tekom Technologies, Inc", 3851da177e4SLinus Torvalds "300_CAMERA", 3861da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3871da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 3881da177e4SLinus Torvalds 3891da177e4SLinus Torvalds /* Another Yakumo camera. 3901da177e4SLinus Torvalds * Reported by Michele Alzetta <michele.alzetta@aliceposta.it> */ 3911da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1804, 0x0100, 0x0100, 3921da177e4SLinus Torvalds "Tekom Technologies, Inc", 3931da177e4SLinus Torvalds "300_CAMERA", 3941da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 3951da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 3961da177e4SLinus Torvalds 3971da177e4SLinus Torvalds /* Reported by Iacopo Spalletti <avvisi@spalletti.it> */ 3981da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100, 3991da177e4SLinus Torvalds "Tekom Technologies, Inc", 4001da177e4SLinus Torvalds "300_CAMERA", 4011da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4021da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4031da177e4SLinus Torvalds 4041da177e4SLinus Torvalds /* Yakumo Mega Image 47 4051da177e4SLinus Torvalds * Reported by Bjoern Paetzel <kolrabi@kolrabi.de> */ 4061da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1905, 0x0100, 0x0100, 4071da177e4SLinus Torvalds "Tekom Technologies, Inc", 4081da177e4SLinus Torvalds "400_CAMERA", 4091da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4101da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4111da177e4SLinus Torvalds 4121da177e4SLinus Torvalds /* Reported by Paul Ortyl <ortylp@3miasto.net> 4131da177e4SLinus Torvalds * Note that it's similar to the device above, only different prodID */ 4141da177e4SLinus Torvalds UNUSUAL_DEV( 0x052b, 0x1911, 0x0100, 0x0100, 4151da177e4SLinus Torvalds "Tekom Technologies, Inc", 4161da177e4SLinus Torvalds "400_CAMERA", 4171da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4181da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 4191da177e4SLinus Torvalds 4201da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450, 4211da177e4SLinus Torvalds "Sony", 4221da177e4SLinus Torvalds "DSC-S30/S70/S75/505V/F505/F707/F717/P8", 4231da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4241da177e4SLinus Torvalds US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), 4251da177e4SLinus Torvalds 4261da177e4SLinus Torvalds /* This entry is needed because the device reports Sub=ff */ 4271da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0500, 4281da177e4SLinus Torvalds "Sony", 4291da177e4SLinus Torvalds "DSC-T1", 4301da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 4311da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4321da177e4SLinus Torvalds 4331da177e4SLinus Torvalds 4341da177e4SLinus Torvalds /* Reported by wim@geeks.nl */ 4351da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0025, 0x0100, 0x0100, 4361da177e4SLinus Torvalds "Sony", 4371da177e4SLinus Torvalds "Memorystick NW-MS7", 4381da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4391da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4401da177e4SLinus Torvalds 4411da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 4421da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002b, 0x0100, 0x0110, 4431da177e4SLinus Torvalds "Sony", 4441da177e4SLinus Torvalds "Portable USB Harddrive V2", 4451da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 4461da177e4SLinus Torvalds 0 ), 4471da177e4SLinus Torvalds #endif 4481da177e4SLinus Torvalds 4491da177e4SLinus Torvalds /* Submitted by Olaf Hering, <olh@suse.de> SuSE Bugzilla #49049 */ 4501da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002c, 0x0501, 0x0501, 4511da177e4SLinus Torvalds "Sony", 4521da177e4SLinus Torvalds "USB Floppy Drive", 4531da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4541da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4551da177e4SLinus Torvalds 4561da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002d, 0x0100, 0x0100, 4571da177e4SLinus Torvalds "Sony", 4581da177e4SLinus Torvalds "Memorystick MSAC-US1", 4591da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4601da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4611da177e4SLinus Torvalds 4621da177e4SLinus Torvalds /* Submitted by Klaus Mueller <k.mueller@intershop.de> */ 4631da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0106, 0x0310, 4641da177e4SLinus Torvalds "Sony", 4651da177e4SLinus Torvalds "Handycam", 4661da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 4671da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4681da177e4SLinus Torvalds 4691da177e4SLinus Torvalds /* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */ 4701da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x002e, 0x0500, 0x0500, 4711da177e4SLinus Torvalds "Sony", 4721da177e4SLinus Torvalds "Handycam HC-85", 4731da177e4SLinus Torvalds US_SC_UFI, US_PR_DEVICE, NULL, 4741da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4751da177e4SLinus Torvalds 4761da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0032, 0x0000, 0x9999, 4771da177e4SLinus Torvalds "Sony", 4781da177e4SLinus Torvalds "Memorystick MSC-U01N", 4791da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4801da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4811da177e4SLinus Torvalds 4821da177e4SLinus Torvalds /* Submitted by Michal Mlotek <mlotek@foobar.pl> */ 4831da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0058, 0x0000, 0x9999, 4841da177e4SLinus Torvalds "Sony", 4851da177e4SLinus Torvalds "PEG N760c Memorystick", 4861da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 4871da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 4881da177e4SLinus Torvalds 4891da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0069, 0x0000, 0x9999, 4901da177e4SLinus Torvalds "Sony", 4911da177e4SLinus Torvalds "Memorystick MSC-U03", 4921da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 4931da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 4941da177e4SLinus Torvalds 4951da177e4SLinus Torvalds /* Submitted by Nathan Babb <nathan@lexi.com> */ 4961da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x006d, 0x0000, 0x9999, 4971da177e4SLinus Torvalds "Sony", 4981da177e4SLinus Torvalds "PEG Mass Storage", 4991da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5001da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5011da177e4SLinus Torvalds 5021da177e4SLinus Torvalds /* Submitted by Mike Alborn <malborn@deandra.homeip.net> */ 5031da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x016a, 0x0000, 0x9999, 5041da177e4SLinus Torvalds "Sony", 5051da177e4SLinus Torvalds "PEG Mass Storage", 5061da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5071da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5081da177e4SLinus Torvalds 5091da177e4SLinus Torvalds /* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */ 5101da177e4SLinus Torvalds UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999, 5111da177e4SLinus Torvalds "Sony", 5121da177e4SLinus Torvalds "PEG Mass Storage", 5131da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5141da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 5151da177e4SLinus Torvalds 5161da177e4SLinus Torvalds 5171da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299, 5181da177e4SLinus Torvalds "Y-E Data", 5191da177e4SLinus Torvalds "Flashbuster-U", 5201da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 5211da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5221da177e4SLinus Torvalds 5231da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0000, 0x0300, 0x9999, 5241da177e4SLinus Torvalds "Y-E Data", 5251da177e4SLinus Torvalds "Flashbuster-U", 5261da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 5271da177e4SLinus Torvalds US_FL_SINGLE_LUN), 5281da177e4SLinus Torvalds 5291da177e4SLinus Torvalds /* Reported by Johann Cardon <johann.cardon@free.fr> 5301da177e4SLinus Torvalds * This entry is needed only because the device reports 5311da177e4SLinus Torvalds * bInterfaceClass = 0xff (vendor-specific) 5321da177e4SLinus Torvalds */ 5331da177e4SLinus Torvalds UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999, 5341da177e4SLinus Torvalds "Y-E Data", 5351da177e4SLinus Torvalds "Silicon Media R/W", 5361da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 0), 5371da177e4SLinus Torvalds 538e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 539e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x0584, 0x0008, 0x0102, 0x0102, 540e80b0fadSMatthew Dharm "Fujifilm", 541e80b0fadSMatthew Dharm "DPC-R1 (Alauda)", 542e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 543e80b0fadSMatthew Dharm #endif 544e80b0fadSMatthew Dharm 5451da177e4SLinus Torvalds /* Fabrizio Fellini <fello@libero.it> */ 5461da177e4SLinus Torvalds UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210, 5471da177e4SLinus Torvalds "Fujifilm", 5481da177e4SLinus Torvalds "Digital Camera EX-20 DSC", 5491da177e4SLinus Torvalds US_SC_8070, US_PR_DEVICE, NULL, 0 ), 5501da177e4SLinus Torvalds 5511da177e4SLinus Torvalds /* The entry was here before I took over, and had US_SC_RBC. It turns 5521da177e4SLinus Torvalds * out that isn't needed. Additionally, Torsten Eriksson 5531da177e4SLinus Torvalds * <Torsten.Eriksson@bergianska.se> is able to use his device fine 5541da177e4SLinus Torvalds * without this entry at all - but I don't suspect that will be true 5551da177e4SLinus Torvalds * for all users (the protocol is likely needed), so is staying at 5561da177e4SLinus Torvalds * this time. - Phil Dibowitz <phil@ipom.com> 5571da177e4SLinus Torvalds */ 5581da177e4SLinus Torvalds UNUSUAL_DEV( 0x059f, 0xa601, 0x0200, 0x0200, 5591da177e4SLinus Torvalds "LaCie", 5601da177e4SLinus Torvalds "USB Hard Disk", 5611da177e4SLinus Torvalds US_SC_DEVICE, US_PR_CB, NULL, 0 ), 5621da177e4SLinus Torvalds 5631da177e4SLinus Torvalds /* Submitted by Joel Bourquard <numlock@freesurf.ch> 5641da177e4SLinus Torvalds * Some versions of this device need the SubClass and Protocol overrides 5651da177e4SLinus Torvalds * while others don't. 5661da177e4SLinus Torvalds */ 5671da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110, 5681da177e4SLinus Torvalds "In-System", 5691da177e4SLinus Torvalds "PyroGate External CD-ROM Enclosure (FCD-523)", 5701da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 5711da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 5721da177e4SLinus Torvalds 5731da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 5741da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0031, 0x0100, 0x0110, 5751da177e4SLinus Torvalds "In-System", 5761da177e4SLinus Torvalds "USB/IDE Bridge (ATA/ATAPI)", 5771da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5781da177e4SLinus Torvalds 0 ), 5791da177e4SLinus Torvalds 5801da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0301, 0x0100, 0x0110, 5811da177e4SLinus Torvalds "In-System", 5821da177e4SLinus Torvalds "Portable USB Harddrive V2", 5831da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5841da177e4SLinus Torvalds 0 ), 5851da177e4SLinus Torvalds 5861da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x0351, 0x0100, 0x0110, 5871da177e4SLinus Torvalds "In-System", 5881da177e4SLinus Torvalds "Portable USB Harddrive V2", 5891da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5901da177e4SLinus Torvalds 0 ), 5911da177e4SLinus Torvalds 5921da177e4SLinus Torvalds UNUSUAL_DEV( 0x05ab, 0x5701, 0x0100, 0x0110, 5931da177e4SLinus Torvalds "In-System", 5941da177e4SLinus Torvalds "USB Storage Adapter V2", 5951da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 5961da177e4SLinus Torvalds 0 ), 5971da177e4SLinus Torvalds #endif 5981da177e4SLinus Torvalds 59935f4a0c4SSven Anderson /* Submitted by Sven Anderson <sven-linux@anderson.de> 60035f4a0c4SSven Anderson * There are at least four ProductIDs used for iPods, so I added 0x1202 and 60135f4a0c4SSven Anderson * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears 60235f4a0c4SSven Anderson * to change with firmware updates, I changed the range to maximum for all 60335f4a0c4SSven Anderson * iPod entries. 60435f4a0c4SSven Anderson */ 60535f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999, 6061da177e4SLinus Torvalds "Apple", 6071da177e4SLinus Torvalds "iPod", 6081da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6091da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6101da177e4SLinus Torvalds 61135f4a0c4SSven Anderson /* Reported by Avi Kivity <avi@argo.co.il> */ 61235f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999, 61335f4a0c4SSven Anderson "Apple", 61435f4a0c4SSven Anderson "iPod", 61535f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 61635f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 61735f4a0c4SSven Anderson 61835f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999, 61935f4a0c4SSven Anderson "Apple", 62035f4a0c4SSven Anderson "iPod", 62135f4a0c4SSven Anderson US_SC_DEVICE, US_PR_DEVICE, NULL, 62235f4a0c4SSven Anderson US_FL_FIX_CAPACITY ), 62335f4a0c4SSven Anderson 62435f4a0c4SSven Anderson UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999, 6251da177e4SLinus Torvalds "Apple", 6261da177e4SLinus Torvalds "iPod", 6271da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6281da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 6291da177e4SLinus Torvalds 630880a9b5eSPhil Dibowitz /* 631880a9b5eSPhil Dibowitz * Reported by Tyson Vinson <lornoss@gmail.com> 632880a9b5eSPhil Dibowitz * This particular productId is the iPod Nano 633880a9b5eSPhil Dibowitz */ 634880a9b5eSPhil Dibowitz UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999, 635880a9b5eSPhil Dibowitz "Apple", 636880a9b5eSPhil Dibowitz "iPod", 637880a9b5eSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 638880a9b5eSPhil Dibowitz US_FL_FIX_CAPACITY ), 639880a9b5eSPhil Dibowitz 6401da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_JUMPSHOT 6411da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0x0001, 0x0000, 0x0001, 6421da177e4SLinus Torvalds "Lexar", 6431da177e4SLinus Torvalds "Jumpshot USB CF Reader", 6441da177e4SLinus Torvalds US_SC_SCSI, US_PR_JUMPSHOT, NULL, 6451da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 6461da177e4SLinus Torvalds #endif 6471da177e4SLinus Torvalds 6481da177e4SLinus Torvalds /* Reported by Blake Matheny <bmatheny@purdue.edu> */ 6491da177e4SLinus Torvalds UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113, 6501da177e4SLinus Torvalds "Lexar", 6511da177e4SLinus Torvalds "USB CF Reader", 6521da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6531da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6541da177e4SLinus Torvalds 6551da177e4SLinus Torvalds /* The following two entries are for a Genesys USB to IDE 6561da177e4SLinus Torvalds * converter chip, but it changes its ProductId depending 6571da177e4SLinus Torvalds * on whether or not a disk or an optical device is enclosed 6581da177e4SLinus Torvalds * They were originally reported by Alexander Oltu 6591da177e4SLinus Torvalds * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com> 6601da177e4SLinus Torvalds * respectively. 6611da177e4SLinus Torvalds */ 6621da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, 6631da177e4SLinus Torvalds "Genesys Logic", 6641da177e4SLinus Torvalds "USB to IDE Optical", 6651da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6661da177e4SLinus Torvalds US_FL_GO_SLOW ), 6671da177e4SLinus Torvalds 6681da177e4SLinus Torvalds UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, 6691da177e4SLinus Torvalds "Genesys Logic", 6701da177e4SLinus Torvalds "USB to IDE Disk", 6711da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 6721da177e4SLinus Torvalds US_FL_GO_SLOW ), 6731da177e4SLinus Torvalds 6741da177e4SLinus Torvalds /* Reported by Hanno Boeck <hanno@gmx.de> 6751da177e4SLinus Torvalds * Taken from the Lycoris Kernel */ 6761da177e4SLinus Torvalds UNUSUAL_DEV( 0x0636, 0x0003, 0x0000, 0x9999, 6771da177e4SLinus Torvalds "Vivitar", 6781da177e4SLinus Torvalds "Vivicam 35Xx", 6791da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 6801da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 6811da177e4SLinus Torvalds 6821da177e4SLinus Torvalds UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100, 6831da177e4SLinus Torvalds "TEAC", 6841da177e4SLinus Torvalds "Floppy Drive", 6851da177e4SLinus Torvalds US_SC_UFI, US_PR_CB, NULL, 0 ), 6861da177e4SLinus Torvalds 6871da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 6881da177e4SLinus Torvalds UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100, 6891da177e4SLinus Torvalds "Olympus", 6901da177e4SLinus Torvalds "Camedia MAUSB-2", 691f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 692f5b8cb9cSMatthew Dharm 0), 6931da177e4SLinus Torvalds #endif 6941da177e4SLinus Torvalds 6951da177e4SLinus Torvalds /* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */ 6961da177e4SLinus Torvalds UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, 6971da177e4SLinus Torvalds "SigmaTel", 6981da177e4SLinus Torvalds "USBMSC Audio Player", 6991da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7001da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 7011da177e4SLinus Torvalds 7021da177e4SLinus Torvalds /* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */ 7031da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x2507, 0x0100, 0x0100, 7041da177e4SLinus Torvalds "Prolific Technology Inc.", 7051da177e4SLinus Torvalds "Mass Storage Device", 7061da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7071da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7081da177e4SLinus Torvalds 7091da177e4SLinus Torvalds /* Reported by Alex Butcher <alex.butcher@assursys.co.uk> */ 7101da177e4SLinus Torvalds UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0001, 7111da177e4SLinus Torvalds "Prolific Technology Inc.", 7121da177e4SLinus Torvalds "ATAPI-6 Bridge Controller", 7131da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7141da177e4SLinus Torvalds US_FL_FIX_CAPACITY | US_FL_GO_SLOW ), 7151da177e4SLinus Torvalds 7161da177e4SLinus Torvalds /* Submitted by Benny Sjostrand <benny@hostmobility.com> */ 7171da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001, 7181da177e4SLinus Torvalds "Minolta", 7191da177e4SLinus Torvalds "Dimage F300", 7201da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7211da177e4SLinus Torvalds 7221da177e4SLinus Torvalds /* Reported by Miguel A. Fosas <amn3s1a@ono.com> */ 7231da177e4SLinus Torvalds UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001, 7241da177e4SLinus Torvalds "Minolta", 7251da177e4SLinus Torvalds "DIMAGE E223", 7261da177e4SLinus Torvalds US_SC_SCSI, US_PR_DEVICE, NULL, 0 ), 7271da177e4SLinus Torvalds 7281da177e4SLinus Torvalds UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100, 7291da177e4SLinus Torvalds "Hagiwara", 7301da177e4SLinus Torvalds "Flashgate", 7311da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, NULL, 0 ), 7321da177e4SLinus Torvalds 7331da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, 7341da177e4SLinus Torvalds "Sandisk", 7351da177e4SLinus Torvalds "ImageMate SDDR-05a", 7361da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7371da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7381da177e4SLinus Torvalds 739094ec604SDaniel Drake #ifdef CONFIG_USB_STORAGE_USBAT 740094ec604SDaniel Drake UNUSUAL_DEV( 0x0781, 0x0005, 0x0005, 0x0005, 741094ec604SDaniel Drake "Sandisk", 742094ec604SDaniel Drake "ImageMate SDDR-05b", 743094ec604SDaniel Drake US_SC_SCSI, US_PR_USBAT, init_usbat, 744094ec604SDaniel Drake US_FL_SINGLE_LUN ), 745094ec604SDaniel Drake #endif 746094ec604SDaniel Drake 7471da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100, 7481da177e4SLinus Torvalds "Sandisk", 7491da177e4SLinus Torvalds "ImageMate SDDR-12", 7501da177e4SLinus Torvalds US_SC_SCSI, US_PR_CB, NULL, 7511da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 7521da177e4SLinus Torvalds 7531da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR09 7541da177e4SLinus Torvalds UNUSUAL_DEV( 0x0781, 0x0200, 0x0000, 0x9999, 7551da177e4SLinus Torvalds "Sandisk", 7561da177e4SLinus Torvalds "ImageMate SDDR-09", 757f5b8cb9cSMatthew Dharm US_SC_SCSI, US_PR_EUSB_SDDR09, usb_stor_sddr09_init, 758f5b8cb9cSMatthew Dharm 0), 7591da177e4SLinus Torvalds #endif 7601da177e4SLinus Torvalds 7611da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_FREECOM 7621da177e4SLinus Torvalds UNUSUAL_DEV( 0x07ab, 0xfc01, 0x0000, 0x9999, 7631da177e4SLinus Torvalds "Freecom", 7641da177e4SLinus Torvalds "USB-IDE", 7651da177e4SLinus Torvalds US_SC_QIC, US_PR_FREECOM, freecom_init, 0), 7661da177e4SLinus Torvalds #endif 7671da177e4SLinus Torvalds 7681da177e4SLinus Torvalds /* Reported by Eero Volotinen <eero@ping-viini.org> */ 769e5278320SPhil Dibowitz UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x9999, 7701da177e4SLinus Torvalds "Freecom Technologies", 7711da177e4SLinus Torvalds "FHD-Classic", 7721da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 7731da177e4SLinus Torvalds US_FL_FIX_CAPACITY), 7741da177e4SLinus Torvalds 7751da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133, 7761da177e4SLinus Torvalds "Microtech", 7771da177e4SLinus Torvalds "USB-SCSI-DB25", 7781da177e4SLinus Torvalds US_SC_SCSI, US_PR_BULK, usb_stor_euscsi_init, 7791da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7801da177e4SLinus Torvalds 7811da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100, 7821da177e4SLinus Torvalds "Microtech", 7831da177e4SLinus Torvalds "USB-SCSI-HD50", 784e8116e84SPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, usb_stor_euscsi_init, 7851da177e4SLinus Torvalds US_FL_SCM_MULT_TARG ), 7861da177e4SLinus Torvalds 7871da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DPCM 7881da177e4SLinus Torvalds UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100, 7891da177e4SLinus Torvalds "Microtech", 7901da177e4SLinus Torvalds "CameraMate (DPCM_USB)", 7911da177e4SLinus Torvalds US_SC_SCSI, US_PR_DPCM_USB, NULL, 0 ), 7921da177e4SLinus Torvalds #endif 7931da177e4SLinus Torvalds 794e80b0fadSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ALAUDA 795e80b0fadSMatthew Dharm UNUSUAL_DEV( 0x07b4, 0x010a, 0x0102, 0x0102, 796e80b0fadSMatthew Dharm "Olympus", 797e80b0fadSMatthew Dharm "MAUSB-10 (Alauda)", 798e80b0fadSMatthew Dharm US_SC_SCSI, US_PR_ALAUDA, init_alauda, 0 ), 799e80b0fadSMatthew Dharm #endif 800e80b0fadSMatthew Dharm 8011da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8021da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa000, 0x0000, 0x0015, 8031da177e4SLinus Torvalds "Datafab", 8041da177e4SLinus Torvalds "MDCFE-B USB CF Reader", 8051da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8061da177e4SLinus Torvalds 0 ), 8071da177e4SLinus Torvalds 8081da177e4SLinus Torvalds /* 8091da177e4SLinus Torvalds * The following Datafab-based devices may or may not work 8101da177e4SLinus Torvalds * using the current driver...the 0xffff is arbitrary since I 8111da177e4SLinus Torvalds * don't know what device versions exist for these guys. 8121da177e4SLinus Torvalds * 8131da177e4SLinus Torvalds * The 0xa003 and 0xa004 devices in particular I'm curious about. 8141da177e4SLinus Torvalds * I'm told they exist but so far nobody has come forward to say that 8151da177e4SLinus Torvalds * they work with this driver. Given the success we've had getting 8161da177e4SLinus Torvalds * other Datafab-based cards operational with this driver, I've decided 8171da177e4SLinus Torvalds * to leave these two devices in the list. 8181da177e4SLinus Torvalds */ 8191da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa001, 0x0000, 0xffff, 8201da177e4SLinus Torvalds "SIIG/Datafab", 8211da177e4SLinus Torvalds "SIIG/Datafab Memory Stick+CF Reader/Writer", 8221da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8231da177e4SLinus Torvalds 0 ), 8241da177e4SLinus Torvalds 8251da177e4SLinus Torvalds /* Reported by Josef Reisinger <josef.reisinger@netcologne.de> */ 8261da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa002, 0x0000, 0xffff, 8271da177e4SLinus Torvalds "Datafab/Unknown", 8281da177e4SLinus Torvalds "MD2/MD3 Disk enclosure", 8291da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8301da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8311da177e4SLinus Torvalds 8321da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa003, 0x0000, 0xffff, 8331da177e4SLinus Torvalds "Datafab/Unknown", 8341da177e4SLinus Torvalds "Datafab-based Reader", 8351da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8361da177e4SLinus Torvalds 0 ), 8371da177e4SLinus Torvalds 8381da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa004, 0x0000, 0xffff, 8391da177e4SLinus Torvalds "Datafab/Unknown", 8401da177e4SLinus Torvalds "Datafab-based Reader", 8411da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8421da177e4SLinus Torvalds 0 ), 8431da177e4SLinus Torvalds 8441da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa005, 0x0000, 0xffff, 8451da177e4SLinus Torvalds "PNY/Datafab", 8461da177e4SLinus Torvalds "PNY/Datafab CF+SM Reader", 8471da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8481da177e4SLinus Torvalds 0 ), 8491da177e4SLinus Torvalds 8501da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa006, 0x0000, 0xffff, 8511da177e4SLinus Torvalds "Simple Tech/Datafab", 8521da177e4SLinus Torvalds "Simple Tech/Datafab CF+SM Reader", 8531da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8541da177e4SLinus Torvalds 0 ), 8551da177e4SLinus Torvalds #endif 8561da177e4SLinus Torvalds 8571da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8581da177e4SLinus Torvalds /* Contributed by Peter Waechtler */ 8591da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa103, 0x0000, 0x9999, 8601da177e4SLinus Torvalds "Datafab", 8611da177e4SLinus Torvalds "MDSM-B reader", 8621da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8631da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 8641da177e4SLinus Torvalds #endif 8651da177e4SLinus Torvalds 8661da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 8671da177e4SLinus Torvalds /* Submitted by Olaf Hering <olh@suse.de> */ 8681da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8691da177e4SLinus Torvalds "Datafab Systems, Inc.", 8701da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8711da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 8721da177e4SLinus Torvalds 0 ), 8731da177e4SLinus Torvalds #endif 8741da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 8751da177e4SLinus Torvalds /* SM part - aeb <Andries.Brouwer@cwi.nl> */ 8761da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa109, 0x0000, 0xffff, 8771da177e4SLinus Torvalds "Datafab Systems, Inc.", 8781da177e4SLinus Torvalds "USB to CF + SM Combo (LC1)", 8791da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 8801da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 8811da177e4SLinus Torvalds #endif 8821da177e4SLinus Torvalds 883d6427cf7Sfelix@derklecks.de #ifdef CONFIG_USB_STORAGE_DATAFAB 884d6427cf7Sfelix@derklecks.de /* Reported by Felix Moeller <felix@derklecks.de> 885d6427cf7Sfelix@derklecks.de * in Germany this is sold by Hama with the productnumber 46952 886d6427cf7Sfelix@derklecks.de * as "DualSlot CompactFlash(TM) & MStick Drive USB" 887d6427cf7Sfelix@derklecks.de */ 888d6427cf7Sfelix@derklecks.de UNUSUAL_DEV( 0x07c4, 0xa10b, 0x0000, 0xffff, 889d6427cf7Sfelix@derklecks.de "DataFab Systems Inc.", 890d6427cf7Sfelix@derklecks.de "USB CF+MS", 891d6427cf7Sfelix@derklecks.de US_SC_SCSI, US_PR_DATAFAB, NULL, 892d6427cf7Sfelix@derklecks.de 0 ), 893d6427cf7Sfelix@derklecks.de 894d6427cf7Sfelix@derklecks.de #endif 895d6427cf7Sfelix@derklecks.de 8961da177e4SLinus Torvalds /* Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100 8971da177e4SLinus Torvalds * Only revision 1.13 tested (same for all of the above devices, 8981da177e4SLinus Torvalds * based on the Datafab DF-UG-07 chip). Needed for US_FL_FIX_INQUIRY. 8991da177e4SLinus Torvalds * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>. 9001da177e4SLinus Torvalds * See also http://martin.wilck.bei.t-online.de/#kecf . 9011da177e4SLinus Torvalds */ 9021da177e4SLinus Torvalds UNUSUAL_DEV( 0x07c4, 0xa400, 0x0000, 0xffff, 9031da177e4SLinus Torvalds "Datafab", 9041da177e4SLinus Torvalds "KECF-USB", 9051da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9061da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9071da177e4SLinus Torvalds 9081da177e4SLinus Torvalds /* Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant 9091da177e4SLinus Torvalds * to the USB storage specification in two ways: 9101da177e4SLinus Torvalds * - They tell us they are using transport protocol CBI. In reality they 9111da177e4SLinus Torvalds * are using transport protocol CB. 9121da177e4SLinus Torvalds * - They don't like the INQUIRY command. So we must handle this command 9131da177e4SLinus Torvalds * of the SCSI layer ourselves. 9141da177e4SLinus Torvalds * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have 9151da177e4SLinus Torvalds * bInterfaceProtocol=0x00 (US_PR_CBI) while others have 0x01 (US_PR_CB). 9161da177e4SLinus Torvalds * So don't remove the US_PR_CB override! 9171da177e4SLinus Torvalds * - Cameras with bcdDevice=0x9009 require the US_SC_8070 override. 9181da177e4SLinus Torvalds */ 9191da177e4SLinus Torvalds UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999, 9201da177e4SLinus Torvalds "Casio", 9211da177e4SLinus Torvalds "QV DigitalCamera", 9221da177e4SLinus Torvalds US_SC_8070, US_PR_CB, NULL, 9231da177e4SLinus Torvalds US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ), 9241da177e4SLinus Torvalds 9251da177e4SLinus Torvalds /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/ 9261da177e4SLinus Torvalds UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001, 9271da177e4SLinus Torvalds "Samsung", 9281da177e4SLinus Torvalds "Digimax 410", 9291da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9301da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 9311da177e4SLinus Torvalds 9321da177e4SLinus Torvalds /* Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>. 9331da177e4SLinus Torvalds * Flag will support Bulk devices which use a standards-violating 32-byte 9341da177e4SLinus Torvalds * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with 9351da177e4SLinus Torvalds * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support. 9361da177e4SLinus Torvalds */ 9371da177e4SLinus Torvalds 9381da177e4SLinus Torvalds UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x0110, 9391da177e4SLinus Torvalds "Grandtech", 9401da177e4SLinus Torvalds "DC2MEGA", 9411da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9421da177e4SLinus Torvalds US_FL_BULK32), 9431da177e4SLinus Torvalds 9441da177e4SLinus Torvalds 9451da177e4SLinus Torvalds /* Entry needed for flags. Moreover, all devices with this ID use 9461da177e4SLinus Torvalds * bulk-only transport, but _some_ falsely report Control/Bulk instead. 9471da177e4SLinus Torvalds * One example is "Trumpion Digital Research MYMP3". 9481da177e4SLinus Torvalds * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de> 9491da177e4SLinus Torvalds */ 9501da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100, 9511da177e4SLinus Torvalds "Trumpion", 9521da177e4SLinus Torvalds "t33520 USB Flash Card Controller", 9531da177e4SLinus Torvalds US_SC_DEVICE, US_PR_BULK, NULL, 9541da177e4SLinus Torvalds US_FL_NEED_OVERRIDE ), 9551da177e4SLinus Torvalds 9561724757eSPhil Dibowitz /* Reported by Filippo Bardelli <filibard@libero.it> 9571724757eSPhil Dibowitz * The device reports a subclass of RBC, which is wrong. 9581724757eSPhil Dibowitz */ 9591724757eSPhil Dibowitz UNUSUAL_DEV( 0x090a, 0x1050, 0x0100, 0x0100, 9601724757eSPhil Dibowitz "Trumpion Microelectronics, Inc.", 9611724757eSPhil Dibowitz "33520 USB Digital Voice Recorder", 9621724757eSPhil Dibowitz US_SC_UFI, US_PR_DEVICE, NULL, 9631724757eSPhil Dibowitz 0), 9641724757eSPhil Dibowitz 9651da177e4SLinus Torvalds /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */ 9661da177e4SLinus Torvalds UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999, 9671da177e4SLinus Torvalds "Trumpion", 9681da177e4SLinus Torvalds "MP3 player", 9691da177e4SLinus Torvalds US_SC_RBC, US_PR_BULK, NULL, 9701da177e4SLinus Torvalds 0 ), 9711da177e4SLinus Torvalds 9721da177e4SLinus Torvalds /* aeb */ 9731da177e4SLinus Torvalds UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff, 9741da177e4SLinus Torvalds "Feiya", 9751da177e4SLinus Torvalds "5-in-1 Card Reader", 9761da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9771da177e4SLinus Torvalds US_FL_FIX_CAPACITY ), 9781da177e4SLinus Torvalds 9791da177e4SLinus Torvalds /* This Pentax still camera is not conformant 9801da177e4SLinus Torvalds * to the USB storage specification: - 9811da177e4SLinus Torvalds * - It does not like the INQUIRY command. So we must handle this command 9821da177e4SLinus Torvalds * of the SCSI layer ourselves. 9831da177e4SLinus Torvalds * Tested on Rev. 10.00 (0x1000) 9841da177e4SLinus Torvalds * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk> 9851da177e4SLinus Torvalds */ 9861da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000, 9871da177e4SLinus Torvalds "Pentax", 9881da177e4SLinus Torvalds "Optio 2/3/400", 9891da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9901da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9911da177e4SLinus Torvalds 9921da177e4SLinus Torvalds 9931da177e4SLinus Torvalds /* Submitted by Per Winkvist <per.winkvist@uk.com> */ 9941da177e4SLinus Torvalds UNUSUAL_DEV( 0x0a17, 0x006, 0x0000, 0xffff, 9951da177e4SLinus Torvalds "Pentax", 9961da177e4SLinus Torvalds "Optio S/S4", 9971da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 9981da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 9991da177e4SLinus Torvalds 10001da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_ISD200 10011da177e4SLinus Torvalds UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, 10021da177e4SLinus Torvalds "ATI", 10031da177e4SLinus Torvalds "USB Cable 205", 10041da177e4SLinus Torvalds US_SC_ISD200, US_PR_BULK, isd200_Initialization, 10051da177e4SLinus Torvalds 0 ), 10061da177e4SLinus Torvalds #endif 10071da177e4SLinus Torvalds 10081da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_DATAFAB 10091da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10101da177e4SLinus Torvalds "Acomdata", 10111da177e4SLinus Torvalds "CF", 10121da177e4SLinus Torvalds US_SC_SCSI, US_PR_DATAFAB, NULL, 10131da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10141da177e4SLinus Torvalds #endif 10151da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 10161da177e4SLinus Torvalds UNUSUAL_DEV( 0x0c0b, 0xa109, 0x0000, 0xffff, 10171da177e4SLinus Torvalds "Acomdata", 10181da177e4SLinus Torvalds "SM", 10191da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 10201da177e4SLinus Torvalds US_FL_SINGLE_LUN ), 10211da177e4SLinus Torvalds #endif 10221da177e4SLinus Torvalds 102334008dbfSMatthew Dharm /* Submitted by: Nick Sillik <n.sillik@temple.edu> 102434008dbfSMatthew Dharm * Needed for OneTouch extension to usb-storage 102534008dbfSMatthew Dharm * 102634008dbfSMatthew Dharm */ 102734008dbfSMatthew Dharm #ifdef CONFIG_USB_STORAGE_ONETOUCH 102894656639SAntti Andreimann UNUSUAL_DEV( 0x0d49, 0x7000, 0x0000, 0x9999, 102994656639SAntti Andreimann "Maxtor", 103094656639SAntti Andreimann "OneTouch External Harddrive", 103194656639SAntti Andreimann US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 103294656639SAntti Andreimann 0), 103334008dbfSMatthew Dharm UNUSUAL_DEV( 0x0d49, 0x7010, 0x0000, 0x9999, 103434008dbfSMatthew Dharm "Maxtor", 103534008dbfSMatthew Dharm "OneTouch External Harddrive", 103634008dbfSMatthew Dharm US_SC_DEVICE, US_PR_DEVICE, onetouch_connect_input, 103734008dbfSMatthew Dharm 0), 103834008dbfSMatthew Dharm #endif 103934008dbfSMatthew Dharm 10401da177e4SLinus Torvalds /* Submitted by Joris Struyve <joris@struyve.be> */ 10411da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff, 10421da177e4SLinus Torvalds "Medion", 10431da177e4SLinus Torvalds "MD 7425", 10441da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10451da177e4SLinus Torvalds US_FL_FIX_INQUIRY), 10461da177e4SLinus Torvalds 10471da177e4SLinus Torvalds /* 10481da177e4SLinus Torvalds * Entry for Jenoptik JD 5200z3 10491da177e4SLinus Torvalds * 10501da177e4SLinus Torvalds * email: car.busse@gmx.de 10511da177e4SLinus Torvalds */ 10521da177e4SLinus Torvalds UNUSUAL_DEV( 0x0d96, 0x5200, 0x0001, 0x0200, 10531da177e4SLinus Torvalds "Jenoptik", 10541da177e4SLinus Torvalds "JD 5200 z3", 10551da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), 10561da177e4SLinus Torvalds 10571da177e4SLinus Torvalds /* Reported by Lubomir Blaha <tritol@trilogic.cz> 10581da177e4SLinus Torvalds * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this 10591da177e4SLinus Torvalds * works for me. Can anybody correct these values? (I able to test corrected 10601da177e4SLinus Torvalds * version.) 10611da177e4SLinus Torvalds */ 10621da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff, 10631da177e4SLinus Torvalds "Netac", 10641da177e4SLinus Torvalds "USB-CF-Card", 10651da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10661da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10671da177e4SLinus Torvalds 10681da177e4SLinus Torvalds /* Patch by Stephan Walter <stephan.walter@epfl.ch> 10691da177e4SLinus Torvalds * I don't know why, but it works... */ 10701da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012, 10711da177e4SLinus Torvalds "WINWARD", 10721da177e4SLinus Torvalds "Music Disk", 10731da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10741da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10751da177e4SLinus Torvalds 10761da177e4SLinus Torvalds /* Reported by Ian McConnell <ian at emit.demon.co.uk> */ 10771da177e4SLinus Torvalds UNUSUAL_DEV( 0x0dda, 0x0301, 0x0012, 0x0012, 10781da177e4SLinus Torvalds "PNP_MP3", 10791da177e4SLinus Torvalds "PNP_MP3 PLAYER", 10801da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10811da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10821da177e4SLinus Torvalds 10831da177e4SLinus Torvalds /* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */ 10841da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300, 10851da177e4SLinus Torvalds "USB", 10861da177e4SLinus Torvalds "Solid state disk", 10871da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10881da177e4SLinus Torvalds US_FL_FIX_INQUIRY ), 10891da177e4SLinus Torvalds 10901da177e4SLinus Torvalds /* Submitted by Daniel Drake <dsd@gentoo.org> 10911da177e4SLinus Torvalds * Reported by dayul on the Gentoo Forums */ 10921da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x2168, 0x0110, 0x0110, 10931da177e4SLinus Torvalds "Ours Technology", 10941da177e4SLinus Torvalds "Flash Disk", 10951da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 10961da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 10971da177e4SLinus Torvalds 10981da177e4SLinus Torvalds /* Reported by Rastislav Stanik <rs_kernel@yahoo.com> */ 10991da177e4SLinus Torvalds UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110, 11001da177e4SLinus Torvalds "USB", 11011da177e4SLinus Torvalds "Flash Disk", 11021da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11031da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11041da177e4SLinus Torvalds 11051da177e4SLinus Torvalds /* Reported by Michael Stattmann <michael@stattmann.com> */ 11061da177e4SLinus Torvalds UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, 11071da177e4SLinus Torvalds "Sony Ericsson", 11081da177e4SLinus Torvalds "V800-Vodafone 802", 11091da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11101da177e4SLinus Torvalds US_FL_NO_WP_DETECT ), 11111da177e4SLinus Torvalds 11121da177e4SLinus Torvalds /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu> 11131da177e4SLinus Torvalds * Tested on hardware version 1.10. 11141da177e4SLinus Torvalds * Entry is needed only for the initializer function override. 11151da177e4SLinus Torvalds */ 11161da177e4SLinus Torvalds UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x9999, 11171da177e4SLinus Torvalds "Desknote", 11181da177e4SLinus Torvalds "UCR-61S2B", 11191da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init, 11201da177e4SLinus Torvalds 0 ), 11211da177e4SLinus Torvalds 11227b1cbebaSPhil Dibowitz /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */ 11237b1cbebaSPhil Dibowitz UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001, 11247b1cbebaSPhil Dibowitz "Minolta", 11257b1cbebaSPhil Dibowitz "Dimage Z10", 11267b1cbebaSPhil Dibowitz US_SC_DEVICE, US_PR_DEVICE, NULL, 11277b1cbebaSPhil Dibowitz 0 ), 11287b1cbebaSPhil Dibowitz 11291da177e4SLinus Torvalds /* Reported by Kotrla Vitezslav <kotrla@ceb.cz> */ 11301da177e4SLinus Torvalds UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, 11311da177e4SLinus Torvalds "SWISSBIT", 11321da177e4SLinus Torvalds "Black Silver", 11331da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11341da177e4SLinus Torvalds US_FL_IGNORE_RESIDUE ), 11351da177e4SLinus Torvalds 11361da177e4SLinus Torvalds /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ 11371da177e4SLinus Torvalds UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, 11381da177e4SLinus Torvalds "MPIO", 11391da177e4SLinus Torvalds "HS200", 11401da177e4SLinus Torvalds US_SC_DEVICE, US_PR_DEVICE, NULL, 11411da177e4SLinus Torvalds US_FL_GO_SLOW ), 11421da177e4SLinus Torvalds 114363dc3ff3SDavid Härdeman /* 114463dc3ff3SDavid Härdeman * David H�rdeman <david@2gen.com> 114563dc3ff3SDavid Härdeman * The key makes the SCSI stack print confusing (but harmless) messages 114663dc3ff3SDavid Härdeman */ 114763dc3ff3SDavid Härdeman UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100, 114863dc3ff3SDavid Härdeman "Iomega", 114963dc3ff3SDavid Härdeman "Micro Mini 1GB", 115063dc3ff3SDavid Härdeman US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), 115163dc3ff3SDavid Härdeman 11521da177e4SLinus Torvalds #ifdef CONFIG_USB_STORAGE_SDDR55 11531da177e4SLinus Torvalds UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x9999, 11541da177e4SLinus Torvalds "Sandisk", 11551da177e4SLinus Torvalds "ImageMate SDDR55", 11561da177e4SLinus Torvalds US_SC_SCSI, US_PR_SDDR55, NULL, 11571da177e4SLinus Torvalds US_FL_SINGLE_LUN), 11581da177e4SLinus Torvalds #endif 1159a00828e9SPete Zaitcev 1160a00828e9SPete Zaitcev /* Control/Bulk transport for all SubClass values */ 1161a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR), 1162a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR), 1163a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CB, USB_US_TYPE_STOR), 1164a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CB, USB_US_TYPE_STOR), 1165a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CB, USB_US_TYPE_STOR), 1166a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CB, USB_US_TYPE_STOR), 1167a00828e9SPete Zaitcev 1168a00828e9SPete Zaitcev /* Control/Bulk/Interrupt transport for all SubClass values */ 1169a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_CBI, USB_US_TYPE_STOR), 1170a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_CBI, USB_US_TYPE_STOR), 1171a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_CBI, USB_US_TYPE_STOR), 1172a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_CBI, USB_US_TYPE_STOR), 1173a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_CBI, USB_US_TYPE_STOR), 1174a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_CBI, USB_US_TYPE_STOR), 1175a00828e9SPete Zaitcev 1176a00828e9SPete Zaitcev /* Bulk-only transport for all SubClass values */ 1177a00828e9SPete Zaitcev USUAL_DEV(US_SC_RBC, US_PR_BULK, USB_US_TYPE_STOR), 1178a00828e9SPete Zaitcev USUAL_DEV(US_SC_8020, US_PR_BULK, USB_US_TYPE_STOR), 1179a00828e9SPete Zaitcev USUAL_DEV(US_SC_QIC, US_PR_BULK, USB_US_TYPE_STOR), 1180a00828e9SPete Zaitcev USUAL_DEV(US_SC_UFI, US_PR_BULK, USB_US_TYPE_STOR), 1181a00828e9SPete Zaitcev USUAL_DEV(US_SC_8070, US_PR_BULK, USB_US_TYPE_STOR), 1182a00828e9SPete Zaitcev USUAL_DEV(US_SC_SCSI, US_PR_BULK, 0), 1183