unusual_devs.h 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Driver for USB Mass Storage compliant devices
  4. * Unusual Devices File
  5. *
  6. * Current development and maintenance by:
  7. * (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
  8. *
  9. * Initial work by:
  10. * (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
  11. */
  12. /*
  13. * IMPORTANT NOTE: This file must be included in another file which does
  14. * the following thing for it to work:
  15. * The UNUSUAL_DEV, COMPLIANT_DEV, and USUAL_DEV macros must be defined
  16. * before this file is included.
  17. */
  18. /*
  19. * If you edit this file, please try to keep it sorted first by VendorID,
  20. * then by ProductID.
  21. *
  22. * If you want to add an entry for this file, be sure to include the
  23. * following information:
  24. * - a patch that adds the entry for your device, including your
  25. * email address right above the entry (plus maybe a brief
  26. * explanation of the reason for the entry),
  27. * - a copy of /sys/kernel/debug/usb/devices with your device plugged in
  28. * running with this patch.
  29. * Send your submission to the USB development list <linux-usb@vger.kernel.org>
  30. */
  31. /*
  32. * Note: If you add an entry only in order to set the CAPACITY_OK flag,
  33. * use the COMPLIANT_DEV macro instead of UNUSUAL_DEV. This is
  34. * because such entries mark devices which actually work correctly,
  35. * as opposed to devices that do something strangely or wrongly.
  36. */
  37. /*
  38. * In-kernel mode switching is deprecated. Do not add new devices to
  39. * this list for the sole purpose of switching them to a different
  40. * mode. Existing userspace solutions are superior.
  41. *
  42. * New mode switching devices should instead be added to the database
  43. * maintained at https://www.draisberghof.de/usb_modeswitch/
  44. */
  45. #if !defined(CONFIG_USB_STORAGE_SDDR09) && \
  46. !defined(CONFIG_USB_STORAGE_SDDR09_MODULE)
  47. #define NO_SDDR09
  48. #endif
  49. /* patch submitted by Vivian Bregier <Vivian.Bregier@imag.fr> */
  50. UNUSUAL_DEV( 0x03eb, 0x2002, 0x0100, 0x0100,
  51. "ATMEL",
  52. "SND1 Storage",
  53. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  54. US_FL_IGNORE_RESIDUE),
  55. /* Reported by Rodolfo Quesada <rquesada@roqz.net> */
  56. UNUSUAL_DEV( 0x03ee, 0x6906, 0x0003, 0x0003,
  57. "VIA Technologies Inc.",
  58. "Mitsumi multi cardreader",
  59. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  60. US_FL_IGNORE_RESIDUE ),
  61. UNUSUAL_DEV( 0x03f0, 0x0107, 0x0200, 0x0200,
  62. "HP",
  63. "CD-Writer+",
  64. USB_SC_8070, USB_PR_CB, NULL, 0),
  65. /* Reported by Ben Efros <ben@pc-doctor.com> */
  66. UNUSUAL_DEV( 0x03f0, 0x070c, 0x0000, 0x0000,
  67. "HP",
  68. "Personal Media Drive",
  69. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  70. US_FL_SANE_SENSE ),
  71. /*
  72. * Reported by Grant Grundler <grundler@parisc-linux.org>
  73. * HP r707 camera in "Disk" mode with 2.00.23 or 2.00.24 firmware.
  74. */
  75. UNUSUAL_DEV( 0x03f0, 0x4002, 0x0001, 0x0001,
  76. "HP",
  77. "PhotoSmart R707",
  78. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_CAPACITY),
  79. UNUSUAL_DEV( 0x03f3, 0x0001, 0x0000, 0x9999,
  80. "Adaptec",
  81. "USBConnect 2000",
  82. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  83. US_FL_SCM_MULT_TARG ),
  84. /*
  85. * Reported by Sebastian Kapfer <sebastian_kapfer@gmx.net>
  86. * and Olaf Hering <olh@suse.de> (different bcd's, same vendor/product)
  87. * for USB floppies that need the SINGLE_LUN enforcement.
  88. */
  89. UNUSUAL_DEV( 0x0409, 0x0040, 0x0000, 0x9999,
  90. "NEC",
  91. "NEC USB UF000x",
  92. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  93. US_FL_SINGLE_LUN ),
  94. /* Patch submitted by Mihnea-Costin Grigore <mihnea@zulu.ro> */
  95. UNUSUAL_DEV( 0x040d, 0x6205, 0x0003, 0x0003,
  96. "VIA Technologies Inc.",
  97. "USB 2.0 Card Reader",
  98. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  99. US_FL_IGNORE_RESIDUE ),
  100. /*
  101. * Deduced by Jonathan Woithe <jwoithe@just42.net>
  102. * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message
  103. * always fails and confuses drive.
  104. */
  105. UNUSUAL_DEV( 0x0411, 0x001c, 0x0113, 0x0113,
  106. "Buffalo",
  107. "DUB-P40G HDD",
  108. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  109. US_FL_FIX_INQUIRY ),
  110. /* Submitted by Ernestas Vaiciukevicius <ernisv@gmail.com> */
  111. UNUSUAL_DEV( 0x0419, 0x0100, 0x0100, 0x0100,
  112. "Samsung Info. Systems America, Inc.",
  113. "MP3 Player",
  114. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  115. US_FL_IGNORE_RESIDUE ),
  116. /* Reported by Orgad Shaneh <orgads@gmail.com> */
  117. UNUSUAL_DEV( 0x0419, 0xaace, 0x0100, 0x0100,
  118. "Samsung", "MP3 Player",
  119. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  120. US_FL_IGNORE_RESIDUE ),
  121. /* Reported by Christian Leber <christian@leber.de> */
  122. UNUSUAL_DEV( 0x0419, 0xaaf5, 0x0100, 0x0100,
  123. "TrekStor",
  124. "i.Beat 115 2.0",
  125. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  126. US_FL_IGNORE_RESIDUE | US_FL_NOT_LOCKABLE ),
  127. /* Reported by Stefan Werner <dustbln@gmx.de> */
  128. UNUSUAL_DEV( 0x0419, 0xaaf6, 0x0100, 0x0100,
  129. "TrekStor",
  130. "i.Beat Joy 2.0",
  131. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  132. US_FL_IGNORE_RESIDUE ),
  133. /* Reported by Pete Zaitcev <zaitcev@redhat.com>, bz#176584 */
  134. UNUSUAL_DEV( 0x0420, 0x0001, 0x0100, 0x0100,
  135. "GENERIC", "MP3 PLAYER", /* MyMusix PD-205 on the outside. */
  136. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  137. US_FL_IGNORE_RESIDUE ),
  138. /*
  139. * Reported by Andrew Nayenko <relan@bk.ru>
  140. * Updated for new firmware by Phillip Potter <phil@philpotter.co.uk>
  141. */
  142. UNUSUAL_DEV( 0x0421, 0x0019, 0x0592, 0x0610,
  143. "Nokia",
  144. "Nokia 6288",
  145. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  146. US_FL_MAX_SECTORS_64 ),
  147. /* Reported by Mario Rettig <mariorettig@web.de> */
  148. UNUSUAL_DEV( 0x0421, 0x042e, 0x0100, 0x0100,
  149. "Nokia",
  150. "Nokia 3250",
  151. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  152. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  153. /* Reported by <honkkis@gmail.com> */
  154. UNUSUAL_DEV( 0x0421, 0x0433, 0x0100, 0x0100,
  155. "Nokia",
  156. "E70",
  157. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  158. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  159. /* Reported by Jon Hart <Jon.Hart@web.de> */
  160. UNUSUAL_DEV( 0x0421, 0x0434, 0x0100, 0x0100,
  161. "Nokia",
  162. "E60",
  163. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  164. US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
  165. /*
  166. * Reported by Sumedha Swamy <sumedhaswamy@gmail.com> and
  167. * Einar Th. Einarsson <einarthered@gmail.com>
  168. */
  169. UNUSUAL_DEV( 0x0421, 0x0444, 0x0100, 0x0100,
  170. "Nokia",
  171. "N91",
  172. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  173. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  174. /*
  175. * Reported by Jiri Slaby <jirislaby@gmail.com> and
  176. * Rene C. Castberg <Rene@Castberg.org>
  177. */
  178. UNUSUAL_DEV( 0x0421, 0x0446, 0x0100, 0x0100,
  179. "Nokia",
  180. "N80",
  181. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  182. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  183. /* Reported by Matthew Bloch <matthew@bytemark.co.uk> */
  184. UNUSUAL_DEV( 0x0421, 0x044e, 0x0100, 0x0100,
  185. "Nokia",
  186. "E61",
  187. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  188. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  189. /* Reported by Bardur Arantsson <bardur@scientician.net> */
  190. UNUSUAL_DEV( 0x0421, 0x047c, 0x0370, 0x0610,
  191. "Nokia",
  192. "6131",
  193. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  194. US_FL_MAX_SECTORS_64 ),
  195. /* Reported by Manuel Osdoba <manuel.osdoba@tu-ilmenau.de> */
  196. UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x9999,
  197. "Nokia",
  198. "Nokia 6233",
  199. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  200. US_FL_MAX_SECTORS_64 ),
  201. /* Reported by Alex Corcoles <alex@corcoles.net> */
  202. UNUSUAL_DEV( 0x0421, 0x0495, 0x0370, 0x0370,
  203. "Nokia",
  204. "6234",
  205. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  206. US_FL_MAX_SECTORS_64 ),
  207. /* Reported by Daniele Forsi <dforsi@gmail.com> */
  208. UNUSUAL_DEV( 0x0421, 0x04b9, 0x0350, 0x0350,
  209. "Nokia",
  210. "5300",
  211. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  212. US_FL_MAX_SECTORS_64 ),
  213. /* Patch submitted by Victor A. Santos <victoraur.santos@gmail.com> */
  214. UNUSUAL_DEV( 0x0421, 0x05af, 0x0742, 0x0742,
  215. "Nokia",
  216. "305",
  217. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  218. US_FL_MAX_SECTORS_64),
  219. /* Patch submitted by Mikhail Zolotaryov <lebon@lebon.org.ua> */
  220. UNUSUAL_DEV( 0x0421, 0x06aa, 0x1110, 0x1110,
  221. "Nokia",
  222. "502",
  223. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  224. US_FL_MAX_SECTORS_64 ),
  225. /* Added by Lubomir Rintel <lkundrak@v3.sk>, a very fine chap */
  226. UNUSUAL_DEV( 0x0421, 0x06c2, 0x0000, 0x0406,
  227. "Nokia",
  228. "Nokia 208",
  229. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  230. US_FL_MAX_SECTORS_64 ),
  231. #ifdef NO_SDDR09
  232. UNUSUAL_DEV( 0x0436, 0x0005, 0x0100, 0x0100,
  233. "Microtech",
  234. "CameraMate",
  235. USB_SC_SCSI, USB_PR_CB, NULL,
  236. US_FL_SINGLE_LUN ),
  237. #endif
  238. /*
  239. * Patch submitted by Daniel Drake <dsd@gentoo.org>
  240. * Device reports nonsense bInterfaceProtocol 6 when connected over USB2
  241. */
  242. UNUSUAL_DEV( 0x0451, 0x5416, 0x0100, 0x0100,
  243. "Neuros Audio",
  244. "USB 2.0 HD 2.5",
  245. USB_SC_DEVICE, USB_PR_BULK, NULL,
  246. US_FL_NEED_OVERRIDE ),
  247. /*
  248. * Pete Zaitcev <zaitcev@yahoo.com>, from Patrick C. F. Ernzer, bz#162559.
  249. * The key does not actually break, but it returns zero sense which
  250. * makes our SCSI stack to print confusing messages.
  251. */
  252. UNUSUAL_DEV( 0x0457, 0x0150, 0x0100, 0x0100,
  253. "USBest Technology", /* sold by Transcend */
  254. "USB Mass Storage Device",
  255. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
  256. /*
  257. * Bohdan Linda <bohdan.linda@gmail.com>
  258. * 1GB USB sticks MyFlash High Speed. I have restricted
  259. * the revision to my model only
  260. */
  261. UNUSUAL_DEV( 0x0457, 0x0151, 0x0100, 0x0100,
  262. "USB 2.0",
  263. "Flash Disk",
  264. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  265. US_FL_NOT_LOCKABLE ),
  266. /*
  267. * Reported by Tamas Kerecsen <kerecsen@bigfoot.com>
  268. * Obviously the PROM has not been customized by the VAR;
  269. * the Vendor and Product string descriptors are:
  270. * Generic Mass Storage (PROTOTYPE--Remember to change idVendor)
  271. * Generic Manufacturer (PROTOTYPE--Remember to change idVendor)
  272. */
  273. UNUSUAL_DEV( 0x045e, 0xffff, 0x0000, 0x0000,
  274. "Mitac",
  275. "GPS",
  276. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  277. US_FL_MAX_SECTORS_64 ),
  278. /*
  279. * This virtual floppy is found in Sun equipment (x4600, x4200m2, etc.)
  280. * Reported by Pete Zaitcev <zaitcev@redhat.com>
  281. * This device chokes on both version of MODE SENSE which we have, so
  282. * use_10_for_ms is not effective, and we use US_FL_NO_WP_DETECT.
  283. */
  284. UNUSUAL_DEV( 0x046b, 0xff40, 0x0100, 0x0100,
  285. "AMI",
  286. "Virtual Floppy",
  287. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  288. US_FL_NO_WP_DETECT),
  289. /* Reported by Egbert Eich <eich@suse.com> */
  290. UNUSUAL_DEV( 0x0480, 0xd010, 0x0100, 0x9999,
  291. "Toshiba",
  292. "External USB 3.0",
  293. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  294. US_FL_ALWAYS_SYNC),
  295. /* Patch submitted by Philipp Friedrich <philipp@void.at> */
  296. UNUSUAL_DEV( 0x0482, 0x0100, 0x0100, 0x0100,
  297. "Kyocera",
  298. "Finecam S3x",
  299. USB_SC_8070, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
  300. /* Patch submitted by Philipp Friedrich <philipp@void.at> */
  301. UNUSUAL_DEV( 0x0482, 0x0101, 0x0100, 0x0100,
  302. "Kyocera",
  303. "Finecam S4",
  304. USB_SC_8070, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
  305. /* Patch submitted by Stephane Galles <stephane.galles@free.fr> */
  306. UNUSUAL_DEV( 0x0482, 0x0103, 0x0100, 0x0100,
  307. "Kyocera",
  308. "Finecam S5",
  309. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
  310. /* Patch submitted by Jens Taprogge <jens.taprogge@taprogge.org> */
  311. UNUSUAL_DEV( 0x0482, 0x0107, 0x0100, 0x0100,
  312. "Kyocera",
  313. "CONTAX SL300R T*",
  314. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  315. US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE),
  316. /*
  317. * Reported by Paul Stewart <stewart@wetlogic.net>
  318. * This entry is needed because the device reports Sub=ff
  319. */
  320. UNUSUAL_DEV( 0x04a4, 0x0004, 0x0001, 0x0001,
  321. "Hitachi",
  322. "DVD-CAM DZ-MV100A Camcorder",
  323. USB_SC_SCSI, USB_PR_CB, NULL, US_FL_SINGLE_LUN),
  324. /*
  325. * BENQ DC5330
  326. * Reported by Manuel Fombuena <mfombuena@ya.com> and
  327. * Frank Copeland <fjc@thingy.apana.org.au>
  328. */
  329. UNUSUAL_DEV( 0x04a5, 0x3010, 0x0100, 0x0100,
  330. "Tekom Technologies, Inc",
  331. "300_CAMERA",
  332. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  333. US_FL_IGNORE_RESIDUE ),
  334. /*
  335. * Patch for Nikon coolpix 2000
  336. * Submitted by Fabien Cosse <fabien.cosse@wanadoo.fr>
  337. */
  338. UNUSUAL_DEV( 0x04b0, 0x0301, 0x0010, 0x0010,
  339. "NIKON",
  340. "NIKON DSC E2000",
  341. USB_SC_DEVICE, USB_PR_DEVICE,NULL,
  342. US_FL_NOT_LOCKABLE ),
  343. /* Reported by Doug Maxey (dwm@austin.ibm.com) */
  344. UNUSUAL_DEV( 0x04b3, 0x4001, 0x0110, 0x0110,
  345. "IBM",
  346. "IBM RSA2",
  347. USB_SC_DEVICE, USB_PR_CB, NULL,
  348. US_FL_MAX_SECTORS_MIN),
  349. /*
  350. * Reported by Simon Levitt <simon@whattf.com>
  351. * This entry needs Sub and Proto fields
  352. */
  353. UNUSUAL_DEV( 0x04b8, 0x0601, 0x0100, 0x0100,
  354. "Epson",
  355. "875DC Storage",
  356. USB_SC_SCSI, USB_PR_CB, NULL, US_FL_FIX_INQUIRY),
  357. /*
  358. * Reported by Khalid Aziz <khalid@gonehiking.org>
  359. * This entry is needed because the device reports Sub=ff
  360. */
  361. UNUSUAL_DEV( 0x04b8, 0x0602, 0x0110, 0x0110,
  362. "Epson",
  363. "785EPX Storage",
  364. USB_SC_SCSI, USB_PR_BULK, NULL, US_FL_SINGLE_LUN),
  365. /*
  366. * Reported by James Buren <braewoods+lkml@braewoods.net>
  367. * Virtual ISOs cannot be remounted if ejected while the device is locked
  368. * Disable locking to mimic Windows behavior that bypasses the issue
  369. */
  370. UNUSUAL_DEV( 0x04c5, 0x2028, 0x0001, 0x0001,
  371. "iODD",
  372. "2531/2541",
  373. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE),
  374. /*
  375. * Not sure who reported this originally but
  376. * Pavel Machek <pavel@ucw.cz> reported that the extra US_FL_SINGLE_LUN
  377. * flag be added */
  378. UNUSUAL_DEV( 0x04cb, 0x0100, 0x0000, 0x2210,
  379. "Fujifilm",
  380. "FinePix 1400Zoom",
  381. USB_SC_UFI, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY | US_FL_SINGLE_LUN),
  382. /*
  383. * Reported by Ondrej Zary <linux@zary.sk>
  384. * The device reports one sector more and breaks when that sector is accessed
  385. * Firmwares older than 2.6c (the latest one and the only that claims Linux
  386. * support) have also broken tag handling
  387. */
  388. UNUSUAL_DEV( 0x04ce, 0x0002, 0x0000, 0x026b,
  389. "ScanLogic",
  390. "SL11R-IDE",
  391. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  392. US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
  393. UNUSUAL_DEV( 0x04ce, 0x0002, 0x026c, 0x026c,
  394. "ScanLogic",
  395. "SL11R-IDE",
  396. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  397. US_FL_FIX_CAPACITY),
  398. /*
  399. * Reported by Kriston Fincher <kriston@airmail.net>
  400. * Patch submitted by Sean Millichamp <sean@bruenor.org>
  401. * This is to support the Panasonic PalmCam PV-SD4090
  402. * This entry is needed because the device reports Sub=ff
  403. */
  404. UNUSUAL_DEV( 0x04da, 0x0901, 0x0100, 0x0200,
  405. "Panasonic",
  406. "LS-120 Camera",
  407. USB_SC_UFI, USB_PR_DEVICE, NULL, 0),
  408. /*
  409. * From Yukihiro Nakai, via zaitcev@yahoo.com.
  410. * This is needed for CB instead of CBI
  411. */
  412. UNUSUAL_DEV( 0x04da, 0x0d05, 0x0000, 0x0000,
  413. "Sharp CE-CW05",
  414. "CD-R/RW Drive",
  415. USB_SC_8070, USB_PR_CB, NULL, 0),
  416. /* Reported by Adriaan Penning <a.penning@luon.net> */
  417. UNUSUAL_DEV( 0x04da, 0x2372, 0x0000, 0x9999,
  418. "Panasonic",
  419. "DMC-LCx Camera",
  420. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  421. US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
  422. /* Reported by Simeon Simeonov <simeonov_2000@yahoo.com> */
  423. UNUSUAL_DEV( 0x04da, 0x2373, 0x0000, 0x9999,
  424. "LEICA",
  425. "D-LUX Camera",
  426. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  427. US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
  428. /*
  429. * Most of the following entries were developed with the help of
  430. * Shuttle/SCM directly.
  431. */
  432. UNUSUAL_DEV( 0x04e6, 0x0001, 0x0200, 0x0200,
  433. "Matshita",
  434. "LS-120",
  435. USB_SC_8020, USB_PR_CB, NULL, 0),
  436. UNUSUAL_DEV( 0x04e6, 0x0002, 0x0100, 0x0100,
  437. "Shuttle",
  438. "eUSCSI Bridge",
  439. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  440. US_FL_SCM_MULT_TARG ),
  441. #ifdef NO_SDDR09
  442. UNUSUAL_DEV( 0x04e6, 0x0005, 0x0100, 0x0208,
  443. "SCM Microsystems",
  444. "eUSB CompactFlash Adapter",
  445. USB_SC_SCSI, USB_PR_CB, NULL,
  446. US_FL_SINGLE_LUN),
  447. #endif
  448. /* Reported by Markus Demleitner <msdemlei@cl.uni-heidelberg.de> */
  449. UNUSUAL_DEV( 0x04e6, 0x0006, 0x0100, 0x0100,
  450. "SCM Microsystems Inc.",
  451. "eUSB MMC Adapter",
  452. USB_SC_SCSI, USB_PR_CB, NULL,
  453. US_FL_SINGLE_LUN),
  454. /* Reported by Daniel Nouri <dpunktnpunkt@web.de> */
  455. UNUSUAL_DEV( 0x04e6, 0x0006, 0x0205, 0x0205,
  456. "Shuttle",
  457. "eUSB MMC Adapter",
  458. USB_SC_SCSI, USB_PR_DEVICE, NULL,
  459. US_FL_SINGLE_LUN),
  460. UNUSUAL_DEV( 0x04e6, 0x0007, 0x0100, 0x0200,
  461. "Sony",
  462. "Hifd",
  463. USB_SC_SCSI, USB_PR_CB, NULL,
  464. US_FL_SINGLE_LUN),
  465. UNUSUAL_DEV( 0x04e6, 0x0009, 0x0200, 0x0200,
  466. "Shuttle",
  467. "eUSB ATA/ATAPI Adapter",
  468. USB_SC_8020, USB_PR_CB, NULL, 0),
  469. UNUSUAL_DEV( 0x04e6, 0x000a, 0x0200, 0x0200,
  470. "Shuttle",
  471. "eUSB CompactFlash Adapter",
  472. USB_SC_8020, USB_PR_CB, NULL, 0),
  473. UNUSUAL_DEV( 0x04e6, 0x000b, 0x0100, 0x0100,
  474. "Shuttle",
  475. "eUSCSI Bridge",
  476. USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
  477. US_FL_SCM_MULT_TARG ),
  478. UNUSUAL_DEV( 0x04e6, 0x000c, 0x0100, 0x0100,
  479. "Shuttle",
  480. "eUSCSI Bridge",
  481. USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
  482. US_FL_SCM_MULT_TARG ),
  483. UNUSUAL_DEV( 0x04e6, 0x000f, 0x0000, 0x9999,
  484. "SCM Microsystems",
  485. "eUSB SCSI Adapter (Bus Powered)",
  486. USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
  487. US_FL_SCM_MULT_TARG ),
  488. UNUSUAL_DEV( 0x04e6, 0x0101, 0x0200, 0x0200,
  489. "Shuttle",
  490. "CD-RW Device",
  491. USB_SC_8020, USB_PR_CB, NULL, 0),
  492. /* Reported by Dmitry Khlystov <adminimus@gmail.com> */
  493. UNUSUAL_DEV( 0x04e8, 0x507c, 0x0220, 0x0220,
  494. "Samsung",
  495. "YP-U3",
  496. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  497. US_FL_MAX_SECTORS_64),
  498. /* Reported by Vitaly Kuznetsov <vitty@altlinux.ru> */
  499. UNUSUAL_DEV( 0x04e8, 0x5122, 0x0000, 0x9999,
  500. "Samsung",
  501. "YP-CP3",
  502. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  503. US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG),
  504. /* Added by Dmitry Artamonow <mad_soft@inbox.ru> */
  505. UNUSUAL_DEV( 0x04e8, 0x5136, 0x0000, 0x9999,
  506. "Samsung",
  507. "YP-Z3",
  508. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  509. US_FL_MAX_SECTORS_64),
  510. /*
  511. * Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
  512. * Device uses standards-violating 32-byte Bulk Command Block Wrappers and
  513. * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011.
  514. */
  515. UNUSUAL_DEV( 0x04fc, 0x80c2, 0x0100, 0x0100,
  516. "Kobian Mercury",
  517. "Binocam DCB-132",
  518. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  519. US_FL_BULK32),
  520. /* Reported by Bob Sass <rls@vectordb.com> -- only rev 1.33 tested */
  521. UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133,
  522. "Belkin",
  523. "USB SCSI Adaptor",
  524. USB_SC_SCSI, USB_PR_BULK, usb_stor_euscsi_init,
  525. US_FL_SCM_MULT_TARG ),
  526. /*
  527. * Iomega Clik! Drive
  528. * Reported by David Chatenay <dchatenay@hotmail.com>
  529. * The reason this is needed is not fully known.
  530. */
  531. UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100,
  532. "Iomega",
  533. "USB Clik! 40",
  534. USB_SC_8070, USB_PR_DEVICE, NULL,
  535. US_FL_FIX_INQUIRY ),
  536. /* Added by Alan Stern <stern@rowland.harvard.edu> */
  537. COMPLIANT_DEV(0x0525, 0xa4a5, 0x0000, 0x9999,
  538. "Linux",
  539. "File-backed Storage Gadget",
  540. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  541. US_FL_CAPACITY_OK ),
  542. /*
  543. * Yakumo Mega Image 37
  544. * Submitted by Stephan Fuhrmann <atomenergie@t-online.de> */
  545. UNUSUAL_DEV( 0x052b, 0x1801, 0x0100, 0x0100,
  546. "Tekom Technologies, Inc",
  547. "300_CAMERA",
  548. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  549. US_FL_IGNORE_RESIDUE ),
  550. /*
  551. * Another Yakumo camera.
  552. * Reported by Michele Alzetta <michele.alzetta@aliceposta.it>
  553. */
  554. UNUSUAL_DEV( 0x052b, 0x1804, 0x0100, 0x0100,
  555. "Tekom Technologies, Inc",
  556. "300_CAMERA",
  557. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  558. US_FL_IGNORE_RESIDUE ),
  559. /* Reported by Iacopo Spalletti <avvisi@spalletti.it> */
  560. UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100,
  561. "Tekom Technologies, Inc",
  562. "300_CAMERA",
  563. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  564. US_FL_IGNORE_RESIDUE ),
  565. /*
  566. * Yakumo Mega Image 47
  567. * Reported by Bjoern Paetzel <kolrabi@kolrabi.de>
  568. */
  569. UNUSUAL_DEV( 0x052b, 0x1905, 0x0100, 0x0100,
  570. "Tekom Technologies, Inc",
  571. "400_CAMERA",
  572. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  573. US_FL_IGNORE_RESIDUE ),
  574. /*
  575. * Reported by Paul Ortyl <ortylp@3miasto.net>
  576. * Note that it's similar to the device above, only different prodID
  577. */
  578. UNUSUAL_DEV( 0x052b, 0x1911, 0x0100, 0x0100,
  579. "Tekom Technologies, Inc",
  580. "400_CAMERA",
  581. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  582. US_FL_IGNORE_RESIDUE ),
  583. UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450,
  584. "Sony",
  585. "DSC-S30/S70/S75/505V/F505/F707/F717/P8",
  586. USB_SC_SCSI, USB_PR_DEVICE, NULL,
  587. US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ),
  588. /*
  589. * Submitted by Lars Jacob <jacob.lars@googlemail.com>
  590. * This entry is needed because the device reports Sub=ff
  591. */
  592. UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0610,
  593. "Sony",
  594. "DSC-T1/T5/H5",
  595. USB_SC_8070, USB_PR_DEVICE, NULL,
  596. US_FL_SINGLE_LUN ),
  597. /* Reported by wim@geeks.nl */
  598. UNUSUAL_DEV( 0x054c, 0x0025, 0x0100, 0x0100,
  599. "Sony",
  600. "Memorystick NW-MS7",
  601. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  602. US_FL_SINGLE_LUN ),
  603. /* Submitted by Olaf Hering, <olh@suse.de> SuSE Bugzilla #49049 */
  604. UNUSUAL_DEV( 0x054c, 0x002c, 0x0501, 0x2000,
  605. "Sony",
  606. "USB Floppy Drive",
  607. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  608. US_FL_SINGLE_LUN ),
  609. UNUSUAL_DEV( 0x054c, 0x002d, 0x0100, 0x0100,
  610. "Sony",
  611. "Memorystick MSAC-US1",
  612. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  613. US_FL_SINGLE_LUN ),
  614. /* Submitted by Klaus Mueller <k.mueller@intershop.de> */
  615. UNUSUAL_DEV( 0x054c, 0x002e, 0x0106, 0x0310,
  616. "Sony",
  617. "Handycam",
  618. USB_SC_SCSI, USB_PR_DEVICE, NULL,
  619. US_FL_SINGLE_LUN ),
  620. /* Submitted by Rajesh Kumble Nayak <nayak@obs-nice.fr> */
  621. UNUSUAL_DEV( 0x054c, 0x002e, 0x0500, 0x0500,
  622. "Sony",
  623. "Handycam HC-85",
  624. USB_SC_UFI, USB_PR_DEVICE, NULL,
  625. US_FL_SINGLE_LUN ),
  626. UNUSUAL_DEV( 0x054c, 0x0032, 0x0000, 0x9999,
  627. "Sony",
  628. "Memorystick MSC-U01N",
  629. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  630. US_FL_SINGLE_LUN ),
  631. /* Submitted by Michal Mlotek <mlotek@foobar.pl> */
  632. UNUSUAL_DEV( 0x054c, 0x0058, 0x0000, 0x9999,
  633. "Sony",
  634. "PEG N760c Memorystick",
  635. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  636. US_FL_FIX_INQUIRY ),
  637. UNUSUAL_DEV( 0x054c, 0x0069, 0x0000, 0x9999,
  638. "Sony",
  639. "Memorystick MSC-U03",
  640. USB_SC_UFI, USB_PR_CB, NULL,
  641. US_FL_SINGLE_LUN ),
  642. /* Submitted by Nathan Babb <nathan@lexi.com> */
  643. UNUSUAL_DEV( 0x054c, 0x006d, 0x0000, 0x9999,
  644. "Sony",
  645. "PEG Mass Storage",
  646. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  647. US_FL_FIX_INQUIRY ),
  648. /* Submitted by Frank Engel <frankie@cse.unsw.edu.au> */
  649. UNUSUAL_DEV( 0x054c, 0x0099, 0x0000, 0x9999,
  650. "Sony",
  651. "PEG Mass Storage",
  652. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  653. US_FL_FIX_INQUIRY ),
  654. /* Submitted by Mike Alborn <malborn@deandra.homeip.net> */
  655. UNUSUAL_DEV( 0x054c, 0x016a, 0x0000, 0x9999,
  656. "Sony",
  657. "PEG Mass Storage",
  658. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  659. US_FL_FIX_INQUIRY ),
  660. /* Submitted by Ren Bigcren <bigcren.ren@sonymobile.com> */
  661. UNUSUAL_DEV( 0x054c, 0x02a5, 0x0100, 0x0100,
  662. "Sony Corp.",
  663. "MicroVault Flash Drive",
  664. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  665. US_FL_NO_READ_CAPACITY_16 ),
  666. /* floppy reports multiple luns */
  667. UNUSUAL_DEV( 0x055d, 0x2020, 0x0000, 0x0210,
  668. "SAMSUNG",
  669. "SFD-321U [FW 0C]",
  670. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  671. US_FL_SINGLE_LUN ),
  672. /* We keep this entry to force the transport; firmware 3.00 and later is ok. */
  673. UNUSUAL_DEV( 0x057b, 0x0000, 0x0000, 0x0299,
  674. "Y-E Data",
  675. "Flashbuster-U",
  676. USB_SC_DEVICE, USB_PR_CB, NULL,
  677. US_FL_SINGLE_LUN),
  678. /*
  679. * Reported by Johann Cardon <johann.cardon@free.fr>
  680. * This entry is needed only because the device reports
  681. * bInterfaceClass = 0xff (vendor-specific)
  682. */
  683. UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999,
  684. "Y-E Data",
  685. "Silicon Media R/W",
  686. USB_SC_DEVICE, USB_PR_DEVICE, NULL, 0),
  687. /* Reported by RTE <raszilki@yandex.ru> */
  688. UNUSUAL_DEV( 0x058f, 0x6387, 0x0141, 0x0141,
  689. "JetFlash",
  690. "TS1GJF2A/120",
  691. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  692. US_FL_MAX_SECTORS_64 ),
  693. /* Fabrizio Fellini <fello@libero.it> */
  694. UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210,
  695. "Fujifilm",
  696. "Digital Camera EX-20 DSC",
  697. USB_SC_8070, USB_PR_DEVICE, NULL, 0 ),
  698. /*
  699. * Reported by Andre Welter <a.r.welter@gmx.de>
  700. * This antique device predates the release of the Bulk-only Transport
  701. * spec, and if it gets a Get-Max-LUN then it requires the host to do a
  702. * Clear-Halt on the bulk endpoints. The SINGLE_LUN flag will prevent
  703. * us from sending the request.
  704. */
  705. UNUSUAL_DEV( 0x059b, 0x0001, 0x0100, 0x0100,
  706. "Iomega",
  707. "ZIP 100",
  708. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  709. US_FL_SINGLE_LUN ),
  710. UNUSUAL_DEV( 0x059b, 0x0040, 0x0100, 0x0100,
  711. "Iomega",
  712. "Jaz USB Adapter",
  713. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  714. US_FL_SINGLE_LUN ),
  715. /* Reported by <Hendryk.Pfeiffer@gmx.de> */
  716. UNUSUAL_DEV( 0x059f, 0x0643, 0x0000, 0x0000,
  717. "LaCie",
  718. "DVD+-RW",
  719. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  720. US_FL_GO_SLOW ),
  721. /* Reported by Christian Schaller <cschalle@redhat.com> */
  722. UNUSUAL_DEV( 0x059f, 0x0651, 0x0000, 0x0000,
  723. "LaCie",
  724. "External HDD",
  725. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  726. US_FL_NO_WP_DETECT ),
  727. /*
  728. * Submitted by Joel Bourquard <numlock@freesurf.ch>
  729. * Some versions of this device need the SubClass and Protocol overrides
  730. * while others don't.
  731. */
  732. UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110,
  733. "In-System",
  734. "PyroGate External CD-ROM Enclosure (FCD-523)",
  735. USB_SC_SCSI, USB_PR_BULK, NULL,
  736. US_FL_NEED_OVERRIDE ),
  737. /*
  738. * Submitted by Sven Anderson <sven-linux@anderson.de>
  739. * There are at least four ProductIDs used for iPods, so I added 0x1202 and
  740. * 0x1204. They just need the US_FL_FIX_CAPACITY. As the bcdDevice appears
  741. * to change with firmware updates, I changed the range to maximum for all
  742. * iPod entries.
  743. */
  744. UNUSUAL_DEV( 0x05ac, 0x1202, 0x0000, 0x9999,
  745. "Apple",
  746. "iPod",
  747. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  748. US_FL_FIX_CAPACITY ),
  749. /* Reported by Avi Kivity <avi@argo.co.il> */
  750. UNUSUAL_DEV( 0x05ac, 0x1203, 0x0000, 0x9999,
  751. "Apple",
  752. "iPod",
  753. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  754. US_FL_FIX_CAPACITY ),
  755. UNUSUAL_DEV( 0x05ac, 0x1204, 0x0000, 0x9999,
  756. "Apple",
  757. "iPod",
  758. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  759. US_FL_FIX_CAPACITY | US_FL_NOT_LOCKABLE ),
  760. UNUSUAL_DEV( 0x05ac, 0x1205, 0x0000, 0x9999,
  761. "Apple",
  762. "iPod",
  763. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  764. US_FL_FIX_CAPACITY ),
  765. /*
  766. * Reported by Tyson Vinson <lornoss@gmail.com>
  767. * This particular productId is the iPod Nano
  768. */
  769. UNUSUAL_DEV( 0x05ac, 0x120a, 0x0000, 0x9999,
  770. "Apple",
  771. "iPod",
  772. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  773. US_FL_FIX_CAPACITY ),
  774. /*
  775. * Reported by Dan Williams <dcbw@redhat.com>
  776. * Option N.V. mobile broadband modems
  777. * Ignore driver CD mode and force into modem mode by default.
  778. */
  779. /* Globetrotter HSDPA; mass storage shows up as Qualcomm for vendor */
  780. UNUSUAL_DEV( 0x05c6, 0x1000, 0x0000, 0x9999,
  781. "Option N.V.",
  782. "Mass Storage",
  783. USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init,
  784. 0),
  785. /* Reported by Blake Matheny <bmatheny@purdue.edu> */
  786. UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113,
  787. "Lexar",
  788. "USB CF Reader",
  789. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  790. US_FL_FIX_INQUIRY ),
  791. /*
  792. * The following two entries are for a Genesys USB to IDE
  793. * converter chip, but it changes its ProductId depending
  794. * on whether or not a disk or an optical device is enclosed
  795. * They were originally reported by Alexander Oltu
  796. * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com>
  797. * respectively.
  798. *
  799. * US_FL_GO_SLOW and US_FL_MAX_SECTORS_64 added by Phil Dibowitz
  800. * <phil@ipom.com> as these flags were made and hard-coded
  801. * special-cases were pulled from scsiglue.c.
  802. */
  803. UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff,
  804. "Genesys Logic",
  805. "USB to IDE Optical",
  806. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  807. US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
  808. UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff,
  809. "Genesys Logic",
  810. "USB to IDE Disk",
  811. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  812. US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 | US_FL_IGNORE_RESIDUE ),
  813. /* Reported by Ben Efros <ben@pc-doctor.com> */
  814. UNUSUAL_DEV( 0x05e3, 0x0723, 0x9451, 0x9451,
  815. "Genesys Logic",
  816. "USB to SATA",
  817. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  818. US_FL_SANE_SENSE ),
  819. /* Added by Maël GUERIN <mael.guerin@murena.io> */
  820. UNUSUAL_DEV( 0x0603, 0x8611, 0x0000, 0xffff,
  821. "Novatek",
  822. "NTK96550-based camera",
  823. USB_SC_SCSI, USB_PR_BULK, NULL,
  824. US_FL_BULK_IGNORE_TAG ),
  825. /*
  826. * Reported by Hanno Boeck <hanno@gmx.de>
  827. * Taken from the Lycoris Kernel
  828. */
  829. UNUSUAL_DEV( 0x0636, 0x0003, 0x0000, 0x9999,
  830. "Vivitar",
  831. "Vivicam 35Xx",
  832. USB_SC_SCSI, USB_PR_BULK, NULL,
  833. US_FL_FIX_INQUIRY ),
  834. UNUSUAL_DEV( 0x0644, 0x0000, 0x0100, 0x0100,
  835. "TEAC",
  836. "Floppy Drive",
  837. USB_SC_UFI, USB_PR_CB, NULL, 0 ),
  838. /* Reported by Darsen Lu <darsen@micro.ee.nthu.edu.tw> */
  839. UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001,
  840. "SigmaTel",
  841. "USBMSC Audio Player",
  842. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  843. US_FL_FIX_CAPACITY ),
  844. /* Reported by Daniel Kukula <daniel.kuku@gmail.com> */
  845. UNUSUAL_DEV( 0x067b, 0x1063, 0x0100, 0x0100,
  846. "Prolific Technology, Inc.",
  847. "Prolific Storage Gadget",
  848. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  849. US_FL_BAD_SENSE ),
  850. /* Reported by Rogerio Brito <rbrito@ime.usp.br> */
  851. UNUSUAL_DEV( 0x067b, 0x2317, 0x0001, 0x001,
  852. "Prolific Technology, Inc.",
  853. "Mass Storage Device",
  854. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  855. US_FL_NOT_LOCKABLE ),
  856. /* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */
  857. /*
  858. * Change to bcdDeviceMin (0x0100 to 0x0001) reported by
  859. * Thomas Bartosik <tbartdev@gmx-topmail.de>
  860. */
  861. UNUSUAL_DEV( 0x067b, 0x2507, 0x0001, 0x0100,
  862. "Prolific Technology Inc.",
  863. "Mass Storage Device",
  864. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  865. US_FL_FIX_CAPACITY | US_FL_GO_SLOW ),
  866. /* Reported by Alex Butcher <alex.butcher@assursys.co.uk> */
  867. UNUSUAL_DEV( 0x067b, 0x3507, 0x0001, 0x0101,
  868. "Prolific Technology Inc.",
  869. "ATAPI-6 Bridge Controller",
  870. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  871. US_FL_FIX_CAPACITY | US_FL_GO_SLOW ),
  872. /* Submitted by Benny Sjostrand <benny@hostmobility.com> */
  873. UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001,
  874. "Minolta",
  875. "Dimage F300",
  876. USB_SC_SCSI, USB_PR_BULK, NULL, 0 ),
  877. /* Reported by Miguel A. Fosas <amn3s1a@ono.com> */
  878. UNUSUAL_DEV( 0x0686, 0x4017, 0x0001, 0x0001,
  879. "Minolta",
  880. "DIMAGE E223",
  881. USB_SC_SCSI, USB_PR_DEVICE, NULL, 0 ),
  882. UNUSUAL_DEV( 0x0693, 0x0005, 0x0100, 0x0100,
  883. "Hagiwara",
  884. "Flashgate",
  885. USB_SC_SCSI, USB_PR_BULK, NULL, 0 ),
  886. /* Reported by David Hamilton <niftimusmaximus@lycos.com> */
  887. UNUSUAL_DEV( 0x069b, 0x3004, 0x0001, 0x0001,
  888. "Thomson Multimedia Inc.",
  889. "RCA RD1080 MP3 Player",
  890. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  891. US_FL_FIX_CAPACITY ),
  892. UNUSUAL_DEV( 0x06ca, 0x2003, 0x0100, 0x0100,
  893. "Newer Technology",
  894. "uSCSI",
  895. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  896. US_FL_SCM_MULT_TARG ),
  897. /* Reported by Adrian Pilchowiec <adi1981@epf.pl> */
  898. UNUSUAL_DEV( 0x071b, 0x3203, 0x0000, 0x0000,
  899. "RockChip",
  900. "MP3",
  901. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  902. US_FL_NO_WP_DETECT | US_FL_MAX_SECTORS_64 |
  903. US_FL_NO_READ_CAPACITY_16),
  904. /*
  905. * Reported by Jean-Baptiste Onofre <jb@nanthrax.net>
  906. * Support the following product :
  907. * "Dane-Elec MediaTouch"
  908. */
  909. UNUSUAL_DEV( 0x071b, 0x32bb, 0x0000, 0x0000,
  910. "RockChip",
  911. "MTP",
  912. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  913. US_FL_NO_WP_DETECT | US_FL_MAX_SECTORS_64),
  914. /*
  915. * Reported by Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com>
  916. * This USB MP3/AVI player device fails and disconnects if more than 128
  917. * sectors (64kB) are read/written in a single command, and may be present
  918. * at least in the following products:
  919. * "Magnex Digital Video Panel DVP 1800"
  920. * "MP4 AIGO 4GB SLOT SD"
  921. * "Teclast TL-C260 MP3"
  922. * "i.Meizu PMP MP3/MP4"
  923. * "Speed MV8 MP4 Audio Player"
  924. */
  925. UNUSUAL_DEV( 0x071b, 0x3203, 0x0100, 0x0100,
  926. "RockChip",
  927. "ROCK MP3",
  928. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  929. US_FL_MAX_SECTORS_64),
  930. /* Reported by Olivier Blondeau <zeitoun@gmail.com> */
  931. UNUSUAL_DEV( 0x0727, 0x0306, 0x0100, 0x0100,
  932. "ATMEL",
  933. "SND1 Storage",
  934. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  935. US_FL_IGNORE_RESIDUE),
  936. /* Submitted by Roman Hodek <roman@hodek.net> */
  937. UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200,
  938. "Sandisk",
  939. "ImageMate SDDR-05a",
  940. USB_SC_SCSI, USB_PR_CB, NULL,
  941. US_FL_SINGLE_LUN ),
  942. UNUSUAL_DEV( 0x0781, 0x0002, 0x0009, 0x0009,
  943. "SanDisk Corporation",
  944. "ImageMate CompactFlash USB",
  945. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  946. US_FL_FIX_CAPACITY ),
  947. UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100,
  948. "Sandisk",
  949. "ImageMate SDDR-12",
  950. USB_SC_SCSI, USB_PR_CB, NULL,
  951. US_FL_SINGLE_LUN ),
  952. /* Reported by Eero Volotinen <eero@ping-viini.org> */
  953. UNUSUAL_DEV( 0x07ab, 0xfccd, 0x0000, 0x9999,
  954. "Freecom Technologies",
  955. "FHD-Classic",
  956. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  957. US_FL_FIX_CAPACITY),
  958. UNUSUAL_DEV( 0x07af, 0x0004, 0x0100, 0x0133,
  959. "Microtech",
  960. "USB-SCSI-DB25",
  961. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  962. US_FL_SCM_MULT_TARG ),
  963. UNUSUAL_DEV( 0x07af, 0x0005, 0x0100, 0x0100,
  964. "Microtech",
  965. "USB-SCSI-HD50",
  966. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  967. US_FL_SCM_MULT_TARG ),
  968. #ifdef NO_SDDR09
  969. UNUSUAL_DEV( 0x07af, 0x0006, 0x0100, 0x0100,
  970. "Microtech",
  971. "CameraMate",
  972. USB_SC_SCSI, USB_PR_CB, NULL,
  973. US_FL_SINGLE_LUN ),
  974. #endif
  975. /*
  976. * Datafab KECF-USB / Sagatek DCS-CF / Simpletech Flashlink UCF-100
  977. * Only revision 1.13 tested (same for all of the above devices,
  978. * based on the Datafab DF-UG-07 chip). Needed for US_FL_FIX_INQUIRY.
  979. * Submitted by Marek Michalkiewicz <marekm@amelek.gda.pl>.
  980. * See also http://martin.wilck.bei.t-online.de/#kecf .
  981. */
  982. UNUSUAL_DEV( 0x07c4, 0xa400, 0x0000, 0xffff,
  983. "Datafab",
  984. "KECF-USB",
  985. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  986. US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY ),
  987. /*
  988. * Reported by Rauch Wolke <rauchwolke@gmx.net>
  989. * and augmented by binbin <binbinsh@gmail.com> (Bugzilla #12882)
  990. */
  991. UNUSUAL_DEV( 0x07c4, 0xa4a5, 0x0000, 0xffff,
  992. "Simple Tech/Datafab",
  993. "CF+SM Reader",
  994. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  995. US_FL_IGNORE_RESIDUE | US_FL_MAX_SECTORS_64 ),
  996. /*
  997. * Casio QV 2x00/3x00/4000/8000 digital still cameras are not conformant
  998. * to the USB storage specification in two ways:
  999. * - They tell us they are using transport protocol CBI. In reality they
  1000. * are using transport protocol CB.
  1001. * - They don't like the INQUIRY command. So we must handle this command
  1002. * of the SCSI layer ourselves.
  1003. * - Some cameras with idProduct=0x1001 and bcdDevice=0x1000 have
  1004. * bInterfaceProtocol=0x00 (USB_PR_CBI) while others have 0x01 (USB_PR_CB).
  1005. * So don't remove the USB_PR_CB override!
  1006. * - Cameras with bcdDevice=0x9009 require the USB_SC_8070 override.
  1007. */
  1008. UNUSUAL_DEV( 0x07cf, 0x1001, 0x1000, 0x9999,
  1009. "Casio",
  1010. "QV DigitalCamera",
  1011. USB_SC_8070, USB_PR_CB, NULL,
  1012. US_FL_NEED_OVERRIDE | US_FL_FIX_INQUIRY ),
  1013. /* Submitted by Oleksandr Chumachenko <ledest@gmail.com> */
  1014. UNUSUAL_DEV( 0x07cf, 0x1167, 0x0100, 0x0100,
  1015. "Casio",
  1016. "EX-N1 DigitalCamera",
  1017. USB_SC_8070, USB_PR_DEVICE, NULL, 0),
  1018. /* Submitted by Hartmut Wahl <hwahl@hwahl.de>*/
  1019. UNUSUAL_DEV( 0x0839, 0x000a, 0x0001, 0x0001,
  1020. "Samsung",
  1021. "Digimax 410",
  1022. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1023. US_FL_FIX_INQUIRY),
  1024. /* Reported by Luciano Rocha <luciano@eurotux.com> */
  1025. UNUSUAL_DEV( 0x0840, 0x0082, 0x0001, 0x0001,
  1026. "Argosy",
  1027. "Storage",
  1028. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1029. US_FL_FIX_CAPACITY),
  1030. /* Reported and patched by Nguyen Anh Quynh <aquynh@gmail.com> */
  1031. UNUSUAL_DEV( 0x0840, 0x0084, 0x0001, 0x0001,
  1032. "Argosy",
  1033. "Storage",
  1034. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1035. US_FL_FIX_CAPACITY),
  1036. /* Reported by Martijn Hijdra <martijn.hijdra@gmail.com> */
  1037. UNUSUAL_DEV( 0x0840, 0x0085, 0x0001, 0x0001,
  1038. "Argosy",
  1039. "Storage",
  1040. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1041. US_FL_FIX_CAPACITY),
  1042. /* Supplied with some Castlewood ORB removable drives */
  1043. UNUSUAL_DEV( 0x084b, 0xa001, 0x0000, 0x9999,
  1044. "Castlewood Systems",
  1045. "USB to SCSI cable",
  1046. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  1047. US_FL_SCM_MULT_TARG ),
  1048. /*
  1049. * Entry and supporting patch by Theodore Kilgore <kilgota@auburn.edu>.
  1050. * Flag will support Bulk devices which use a standards-violating 32-byte
  1051. * Command Block Wrapper. Here, the "DC2MEGA" cameras (several brands) with
  1052. * Grandtech GT892x chip, which request "Proprietary SCSI Bulk" support.
  1053. */
  1054. UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x0110,
  1055. "Grandtech",
  1056. "DC2MEGA",
  1057. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1058. US_FL_BULK32),
  1059. /*
  1060. * Reported by <ttkspam@free.fr>
  1061. * The device reports a vendor-specific device class, requiring an
  1062. * explicit vendor/product match.
  1063. */
  1064. UNUSUAL_DEV( 0x0851, 0x1542, 0x0002, 0x0002,
  1065. "MagicPixel",
  1066. "FW_Omega2",
  1067. USB_SC_DEVICE, USB_PR_DEVICE, NULL, 0),
  1068. /*
  1069. * Andrew Lunn <andrew@lunn.ch>
  1070. * PanDigital Digital Picture Frame. Does not like ALLOW_MEDIUM_REMOVAL
  1071. * on LUN 4.
  1072. * Note: Vend:Prod clash with "Ltd Maxell WS30 Slim Digital Camera"
  1073. */
  1074. UNUSUAL_DEV( 0x0851, 0x1543, 0x0200, 0x0200,
  1075. "PanDigital",
  1076. "Photo Frame",
  1077. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1078. US_FL_NOT_LOCKABLE),
  1079. UNUSUAL_DEV( 0x085a, 0x0026, 0x0100, 0x0133,
  1080. "Xircom",
  1081. "PortGear USB-SCSI (Mac USB Dock)",
  1082. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  1083. US_FL_SCM_MULT_TARG ),
  1084. UNUSUAL_DEV( 0x085a, 0x0028, 0x0100, 0x0133,
  1085. "Xircom",
  1086. "PortGear USB to SCSI Converter",
  1087. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  1088. US_FL_SCM_MULT_TARG ),
  1089. /* Submitted by Jan De Luyck <lkml@kcore.org> */
  1090. UNUSUAL_DEV( 0x08bd, 0x1100, 0x0000, 0x0000,
  1091. "CITIZEN",
  1092. "X1DE-USB",
  1093. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1094. US_FL_SINGLE_LUN),
  1095. /*
  1096. * Submitted by Dylan Taft <d13f00l@gmail.com>
  1097. * US_FL_IGNORE_RESIDUE Needed
  1098. */
  1099. UNUSUAL_DEV( 0x08ca, 0x3103, 0x0100, 0x0100,
  1100. "AIPTEK",
  1101. "Aiptek USB Keychain MP3 Player",
  1102. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1103. US_FL_IGNORE_RESIDUE),
  1104. /*
  1105. * Entry needed for flags. Moreover, all devices with this ID use
  1106. * bulk-only transport, but _some_ falsely report Control/Bulk instead.
  1107. * One example is "Trumpion Digital Research MYMP3".
  1108. * Submitted by Bjoern Brill <brill(at)fs.math.uni-frankfurt.de>
  1109. */
  1110. UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100,
  1111. "Trumpion",
  1112. "t33520 USB Flash Card Controller",
  1113. USB_SC_DEVICE, USB_PR_BULK, NULL,
  1114. US_FL_NEED_OVERRIDE ),
  1115. /*
  1116. * Reported by Filippo Bardelli <filibard@libero.it>
  1117. * The device reports a subclass of RBC, which is wrong.
  1118. */
  1119. UNUSUAL_DEV( 0x090a, 0x1050, 0x0100, 0x0100,
  1120. "Trumpion Microelectronics, Inc.",
  1121. "33520 USB Digital Voice Recorder",
  1122. USB_SC_UFI, USB_PR_DEVICE, NULL,
  1123. 0),
  1124. /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */
  1125. UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999,
  1126. "Trumpion",
  1127. "MP3 player",
  1128. USB_SC_RBC, USB_PR_BULK, NULL,
  1129. 0 ),
  1130. /* aeb */
  1131. UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff,
  1132. "Feiya",
  1133. "5-in-1 Card Reader",
  1134. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1135. US_FL_FIX_CAPACITY ),
  1136. /*
  1137. * Reported by Icenowy Zheng <icenowy@aosc.io>
  1138. * The SMI SM3350 USB-UFS bridge controller will enter a wrong state
  1139. * that do not process read/write command if a long sense is requested,
  1140. * so force to use 18-byte sense.
  1141. */
  1142. UNUSUAL_DEV( 0x090c, 0x3350, 0x0000, 0xffff,
  1143. "SMI",
  1144. "SM3350 UFS-to-USB-Mass-Storage bridge",
  1145. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1146. US_FL_BAD_SENSE ),
  1147. /*
  1148. * Reported by Paul Hartman <paul.hartman+linux@gmail.com>
  1149. * This card reader returns "Illegal Request, Logical Block Address
  1150. * Out of Range" for the first READ(10) after a new card is inserted.
  1151. */
  1152. UNUSUAL_DEV( 0x090c, 0x6000, 0x0100, 0x0100,
  1153. "Feiya",
  1154. "SD/SDHC Card Reader",
  1155. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1156. US_FL_INITIAL_READ10 ),
  1157. /*
  1158. * Patch by Tasos Sahanidis <tasos@tasossah.com>
  1159. * This flash drive always shows up with write protect enabled
  1160. * during the first mode sense.
  1161. */
  1162. UNUSUAL_DEV(0x0951, 0x1697, 0x0100, 0x0100,
  1163. "Kingston",
  1164. "DT Ultimate G3",
  1165. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1166. US_FL_NO_WP_DETECT),
  1167. /*
  1168. * This Pentax still camera is not conformant
  1169. * to the USB storage specification: -
  1170. * - It does not like the INQUIRY command. So we must handle this command
  1171. * of the SCSI layer ourselves.
  1172. * Tested on Rev. 10.00 (0x1000)
  1173. * Submitted by James Courtier-Dutton <James@superbug.demon.co.uk>
  1174. */
  1175. UNUSUAL_DEV( 0x0a17, 0x0004, 0x1000, 0x1000,
  1176. "Pentax",
  1177. "Optio 2/3/400",
  1178. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1179. US_FL_FIX_INQUIRY ),
  1180. /*
  1181. * These are virtual windows driver CDs, which the zd1211rw driver
  1182. * automatically converts into WLAN devices.
  1183. */
  1184. UNUSUAL_DEV( 0x0ace, 0x2011, 0x0101, 0x0101,
  1185. "ZyXEL",
  1186. "G-220F USB-WLAN Install",
  1187. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1188. US_FL_IGNORE_DEVICE ),
  1189. UNUSUAL_DEV( 0x0ace, 0x20ff, 0x0101, 0x0101,
  1190. "SiteCom",
  1191. "WL-117 USB-WLAN Install",
  1192. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1193. US_FL_IGNORE_DEVICE ),
  1194. /*
  1195. * Reported by Dan Williams <dcbw@redhat.com>
  1196. * Option N.V. mobile broadband modems
  1197. * Ignore driver CD mode and force into modem mode by default.
  1198. */
  1199. /* iCON 225 */
  1200. UNUSUAL_DEV( 0x0af0, 0x6971, 0x0000, 0x9999,
  1201. "Option N.V.",
  1202. "Mass Storage",
  1203. USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init,
  1204. 0),
  1205. /*
  1206. * Reported by F. Aben <f.aben@option.com>
  1207. * This device (wrongly) has a vendor-specific device descriptor.
  1208. * The entry is needed so usb-storage can bind to it's mass-storage
  1209. * interface as an interface driver
  1210. */
  1211. UNUSUAL_DEV( 0x0af0, 0x7401, 0x0000, 0x0000,
  1212. "Option",
  1213. "GI 0401 SD-Card",
  1214. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1215. 0 ),
  1216. /*
  1217. * Reported by Jan Dumon <j.dumon@option.com>
  1218. * These devices (wrongly) have a vendor-specific device descriptor.
  1219. * These entries are needed so usb-storage can bind to their mass-storage
  1220. * interface as an interface driver
  1221. */
  1222. UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0000,
  1223. "Option",
  1224. "GI 0431 SD-Card",
  1225. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1226. 0 ),
  1227. UNUSUAL_DEV( 0x0af0, 0x7701, 0x0000, 0x0000,
  1228. "Option",
  1229. "GI 0451 SD-Card",
  1230. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1231. 0 ),
  1232. UNUSUAL_DEV( 0x0af0, 0x7706, 0x0000, 0x0000,
  1233. "Option",
  1234. "GI 0451 SD-Card",
  1235. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1236. 0 ),
  1237. UNUSUAL_DEV( 0x0af0, 0x7901, 0x0000, 0x0000,
  1238. "Option",
  1239. "GI 0452 SD-Card",
  1240. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1241. 0 ),
  1242. UNUSUAL_DEV( 0x0af0, 0x7A01, 0x0000, 0x0000,
  1243. "Option",
  1244. "GI 0461 SD-Card",
  1245. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1246. 0 ),
  1247. UNUSUAL_DEV( 0x0af0, 0x7A05, 0x0000, 0x0000,
  1248. "Option",
  1249. "GI 0461 SD-Card",
  1250. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1251. 0 ),
  1252. UNUSUAL_DEV( 0x0af0, 0x8300, 0x0000, 0x0000,
  1253. "Option",
  1254. "GI 033x SD-Card",
  1255. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1256. 0 ),
  1257. UNUSUAL_DEV( 0x0af0, 0x8302, 0x0000, 0x0000,
  1258. "Option",
  1259. "GI 033x SD-Card",
  1260. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1261. 0 ),
  1262. UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0000,
  1263. "Option",
  1264. "GI 033x SD-Card",
  1265. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1266. 0 ),
  1267. UNUSUAL_DEV( 0x0af0, 0xc100, 0x0000, 0x0000,
  1268. "Option",
  1269. "GI 070x SD-Card",
  1270. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1271. 0 ),
  1272. UNUSUAL_DEV( 0x0af0, 0xd057, 0x0000, 0x0000,
  1273. "Option",
  1274. "GI 1505 SD-Card",
  1275. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1276. 0 ),
  1277. UNUSUAL_DEV( 0x0af0, 0xd058, 0x0000, 0x0000,
  1278. "Option",
  1279. "GI 1509 SD-Card",
  1280. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1281. 0 ),
  1282. UNUSUAL_DEV( 0x0af0, 0xd157, 0x0000, 0x0000,
  1283. "Option",
  1284. "GI 1515 SD-Card",
  1285. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1286. 0 ),
  1287. UNUSUAL_DEV( 0x0af0, 0xd257, 0x0000, 0x0000,
  1288. "Option",
  1289. "GI 1215 SD-Card",
  1290. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1291. 0 ),
  1292. UNUSUAL_DEV( 0x0af0, 0xd357, 0x0000, 0x0000,
  1293. "Option",
  1294. "GI 1505 SD-Card",
  1295. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1296. 0 ),
  1297. /* Reported by Namjae Jeon <namjae.jeon@samsung.com> */
  1298. UNUSUAL_DEV(0x0bc2, 0x2300, 0x0000, 0x9999,
  1299. "Seagate",
  1300. "Portable HDD",
  1301. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_WRITE_CACHE),
  1302. /* Reported by Ben Efros <ben@pc-doctor.com> */
  1303. UNUSUAL_DEV( 0x0bc2, 0x3010, 0x0000, 0x0000,
  1304. "Seagate",
  1305. "FreeAgent Pro",
  1306. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1307. US_FL_SANE_SENSE ),
  1308. /* Reported by Kris Lindgren <kris.lindgren@gmail.com> */
  1309. UNUSUAL_DEV( 0x0bc2, 0x3332, 0x0000, 0x9999,
  1310. "Seagate",
  1311. "External",
  1312. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1313. US_FL_NO_WP_DETECT ),
  1314. /*
  1315. * Reported by Zenm Chen <zenmchen@gmail.com>
  1316. * Ignore driver CD mode, otherwise usb_modeswitch may fail to switch
  1317. * the device into Wi-Fi mode.
  1318. */
  1319. UNUSUAL_DEV( 0x0bda, 0x1a2b, 0x0000, 0xffff,
  1320. "Realtek",
  1321. "DISK",
  1322. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1323. US_FL_IGNORE_DEVICE ),
  1324. /*
  1325. * Reported by Zenm Chen <zenmchen@gmail.com>
  1326. * Ignore driver CD mode, otherwise usb_modeswitch may fail to switch
  1327. * the device into Wi-Fi mode.
  1328. */
  1329. UNUSUAL_DEV( 0x0bda, 0xa192, 0x0000, 0xffff,
  1330. "Realtek",
  1331. "DISK",
  1332. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1333. US_FL_IGNORE_DEVICE ),
  1334. UNUSUAL_DEV( 0x0d49, 0x7310, 0x0000, 0x9999,
  1335. "Maxtor",
  1336. "USB to SATA",
  1337. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1338. US_FL_SANE_SENSE),
  1339. /*
  1340. * Pete Zaitcev <zaitcev@yahoo.com>, bz#164688.
  1341. * The device blatantly ignores LUN and returns 1 in GetMaxLUN.
  1342. */
  1343. UNUSUAL_DEV( 0x0c45, 0x1060, 0x0100, 0x0100,
  1344. "Unknown",
  1345. "Unknown",
  1346. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1347. US_FL_SINGLE_LUN ),
  1348. /* Submitted by Joris Struyve <joris@struyve.be> */
  1349. UNUSUAL_DEV( 0x0d96, 0x410a, 0x0001, 0xffff,
  1350. "Medion",
  1351. "MD 7425",
  1352. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1353. US_FL_FIX_INQUIRY),
  1354. /*
  1355. * Entry for Jenoptik JD 5200z3
  1356. *
  1357. * email: car.busse@gmx.de
  1358. */
  1359. UNUSUAL_DEV( 0x0d96, 0x5200, 0x0001, 0x0200,
  1360. "Jenoptik",
  1361. "JD 5200 z3",
  1362. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY),
  1363. /* Reported by Jason Johnston <killean@shaw.ca> */
  1364. UNUSUAL_DEV( 0x0dc4, 0x0073, 0x0000, 0x0000,
  1365. "Macpower Technology Co.LTD.",
  1366. "USB 2.0 3.5\" DEVICE",
  1367. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1368. US_FL_FIX_CAPACITY),
  1369. /*
  1370. * Reported by Lubomir Blaha <tritol@trilogic.cz>
  1371. * I _REALLY_ don't know what 3rd, 4th number and all defines mean, but this
  1372. * works for me. Can anybody correct these values? (I able to test corrected
  1373. * version.)
  1374. */
  1375. UNUSUAL_DEV( 0x0dd8, 0x1060, 0x0000, 0xffff,
  1376. "Netac",
  1377. "USB-CF-Card",
  1378. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1379. US_FL_FIX_INQUIRY ),
  1380. /*
  1381. * Reported by Edward Chapman (taken from linux-usb mailing list)
  1382. * Netac OnlyDisk Mini U2CV2 512MB USB 2.0 Flash Drive
  1383. */
  1384. UNUSUAL_DEV( 0x0dd8, 0xd202, 0x0000, 0x9999,
  1385. "Netac",
  1386. "USB Flash Disk",
  1387. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1388. US_FL_IGNORE_RESIDUE ),
  1389. /*
  1390. * Patch by Stephan Walter <stephan.walter@epfl.ch>
  1391. * I don't know why, but it works...
  1392. */
  1393. UNUSUAL_DEV( 0x0dda, 0x0001, 0x0012, 0x0012,
  1394. "WINWARD",
  1395. "Music Disk",
  1396. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1397. US_FL_IGNORE_RESIDUE ),
  1398. /* Reported by Ian McConnell <ian at emit.demon.co.uk> */
  1399. UNUSUAL_DEV( 0x0dda, 0x0301, 0x0012, 0x0012,
  1400. "PNP_MP3",
  1401. "PNP_MP3 PLAYER",
  1402. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1403. US_FL_IGNORE_RESIDUE ),
  1404. /* Reported by Jim McCloskey <mcclosk@ucsc.edu> */
  1405. UNUSUAL_DEV( 0x0e21, 0x0520, 0x0100, 0x0100,
  1406. "Cowon Systems",
  1407. "iAUDIO M5",
  1408. USB_SC_DEVICE, USB_PR_BULK, NULL,
  1409. US_FL_NEED_OVERRIDE ),
  1410. /* Submitted by Antoine Mairesse <antoine.mairesse@free.fr> */
  1411. UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300,
  1412. "USB",
  1413. "Solid state disk",
  1414. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1415. US_FL_FIX_INQUIRY ),
  1416. /*
  1417. * Submitted by Daniel Drake <dsd@gentoo.org>
  1418. * Reported by dayul on the Gentoo Forums
  1419. */
  1420. UNUSUAL_DEV( 0x0ea0, 0x2168, 0x0110, 0x0110,
  1421. "Ours Technology",
  1422. "Flash Disk",
  1423. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1424. US_FL_IGNORE_RESIDUE ),
  1425. /* Reported by Rastislav Stanik <rs_kernel@yahoo.com> */
  1426. UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110,
  1427. "USB",
  1428. "Flash Disk",
  1429. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1430. US_FL_IGNORE_RESIDUE ),
  1431. /*
  1432. * Reported by Benjamin Schiller <sbenni@gmx.de>
  1433. * It is also sold by Easylite as DJ 20
  1434. */
  1435. UNUSUAL_DEV( 0x0ed1, 0x7636, 0x0103, 0x0103,
  1436. "Typhoon",
  1437. "My DJ 1820",
  1438. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1439. US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64),
  1440. /*
  1441. * Patch by Leonid Petrov mail at lpetrov.net
  1442. * Reported by Robert Spitzenpfeil <robert@spitzenpfeil.org>
  1443. * http://www.qbik.ch/usb/devices/showdev.php?id=1705
  1444. * Updated to 103 device by MJ Ray mjr at phonecoop.coop
  1445. */
  1446. UNUSUAL_DEV( 0x0f19, 0x0103, 0x0100, 0x0100,
  1447. "Oracom Co., Ltd",
  1448. "ORC-200M",
  1449. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1450. US_FL_IGNORE_RESIDUE ),
  1451. /*
  1452. * David Kuehling <dvdkhlng@gmx.de>:
  1453. * for MP3-Player AVOX WSX-300ER (bought in Japan). Reports lots of SCSI
  1454. * errors when trying to write.
  1455. */
  1456. UNUSUAL_DEV( 0x0f19, 0x0105, 0x0100, 0x0100,
  1457. "C-MEX",
  1458. "A-VOX",
  1459. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1460. US_FL_IGNORE_RESIDUE ),
  1461. /* Submitted by Nick Holloway */
  1462. UNUSUAL_DEV( 0x0f88, 0x042e, 0x0100, 0x0100,
  1463. "VTech",
  1464. "Kidizoom",
  1465. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1466. US_FL_FIX_CAPACITY ),
  1467. /* Reported by Moritz Moeller-Herrmann <moritz-kernel@moeller-herrmann.de> */
  1468. UNUSUAL_DEV( 0x0fca, 0x8004, 0x0201, 0x0201,
  1469. "Research In Motion",
  1470. "BlackBerry Bold 9000",
  1471. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1472. US_FL_MAX_SECTORS_64 ),
  1473. /* Reported by Michael Stattmann <michael@stattmann.com> */
  1474. UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000,
  1475. "Sony Ericsson",
  1476. "V800-Vodafone 802",
  1477. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1478. US_FL_NO_WP_DETECT ),
  1479. /* Reported by The Solutor <thesolutor@gmail.com> */
  1480. UNUSUAL_DEV( 0x0fce, 0xd0e1, 0x0000, 0x0000,
  1481. "Sony Ericsson",
  1482. "MD400",
  1483. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1484. US_FL_IGNORE_DEVICE),
  1485. /*
  1486. * Reported by Jan Mate <mate@fiit.stuba.sk>
  1487. * and by Soeren Sonnenburg <kernel@nn7.de>
  1488. */
  1489. UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000,
  1490. "Sony Ericsson",
  1491. "P990i",
  1492. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1493. US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
  1494. /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */
  1495. UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x0000,
  1496. "Sony Ericsson",
  1497. "M600i",
  1498. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1499. US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),
  1500. /* Reported by Ricardo Barberis <ricardo@dattatec.com> */
  1501. UNUSUAL_DEV( 0x0fce, 0xe092, 0x0000, 0x0000,
  1502. "Sony Ericsson",
  1503. "P1i",
  1504. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1505. US_FL_IGNORE_RESIDUE ),
  1506. /*
  1507. * Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
  1508. * Tested on hardware version 1.10.
  1509. * Entry is needed only for the initializer function override.
  1510. * Devices with bcd > 110 seem to not need it while those
  1511. * with bcd < 110 appear to need it.
  1512. */
  1513. UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x0110,
  1514. "Desknote",
  1515. "UCR-61S2B",
  1516. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_ucr61s2b_init,
  1517. 0 ),
  1518. UNUSUAL_DEV( 0x1058, 0x0704, 0x0000, 0x9999,
  1519. "Western Digital",
  1520. "External HDD",
  1521. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1522. US_FL_SANE_SENSE),
  1523. /* Reported by Namjae Jeon <namjae.jeon@samsung.com> */
  1524. UNUSUAL_DEV(0x1058, 0x070a, 0x0000, 0x9999,
  1525. "Western Digital",
  1526. "My Passport HDD",
  1527. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_WRITE_CACHE),
  1528. /*
  1529. * Reported by Fabio Venturi <f.venturi@tdnet.it>
  1530. * The device reports a vendor-specific bDeviceClass.
  1531. */
  1532. UNUSUAL_DEV( 0x10d6, 0x2200, 0x0100, 0x0100,
  1533. "Actions Semiconductor",
  1534. "Mtp device",
  1535. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1536. 0),
  1537. /*
  1538. * Reported by Pascal Terjan <pterjan@mandriva.com>
  1539. * Ignore driver CD mode and force into modem mode by default.
  1540. */
  1541. UNUSUAL_DEV( 0x1186, 0x3e04, 0x0000, 0x0000,
  1542. "D-Link",
  1543. "USB Mass Storage",
  1544. USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, US_FL_IGNORE_DEVICE),
  1545. /*
  1546. * Reported by Kevin Lloyd <linux@sierrawireless.com>
  1547. * Entry is needed for the initializer function override,
  1548. * which instructs the device to load as a modem
  1549. * device.
  1550. */
  1551. UNUSUAL_DEV( 0x1199, 0x0fff, 0x0000, 0x9999,
  1552. "Sierra Wireless",
  1553. "USB MMC Storage",
  1554. USB_SC_DEVICE, USB_PR_DEVICE, sierra_ms_init,
  1555. 0),
  1556. /*
  1557. * Reported by Jaco Kroon <jaco@kroon.co.za>
  1558. * The usb-storage module found on the Digitech GNX4 (and supposedly other
  1559. * devices) misbehaves and causes a bunch of invalid I/O errors.
  1560. */
  1561. UNUSUAL_DEV( 0x1210, 0x0003, 0x0100, 0x0100,
  1562. "Digitech HMG",
  1563. "DigiTech Mass Storage",
  1564. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1565. US_FL_IGNORE_RESIDUE ),
  1566. /*
  1567. * Reported by fangxiaozhi <huananhu@huawei.com>
  1568. * This brings the HUAWEI data card devices into multi-port mode
  1569. */
  1570. UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000,
  1571. "HUAWEI MOBILE",
  1572. "Mass Storage",
  1573. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1574. 0),
  1575. UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000,
  1576. "HUAWEI MOBILE",
  1577. "Mass Storage",
  1578. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1579. 0),
  1580. UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000,
  1581. "HUAWEI MOBILE",
  1582. "Mass Storage",
  1583. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1584. 0),
  1585. UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000,
  1586. "HUAWEI MOBILE",
  1587. "Mass Storage",
  1588. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1589. 0),
  1590. UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000,
  1591. "HUAWEI MOBILE",
  1592. "Mass Storage",
  1593. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1594. 0),
  1595. UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
  1596. "HUAWEI MOBILE",
  1597. "Mass Storage",
  1598. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1599. 0),
  1600. UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000,
  1601. "HUAWEI MOBILE",
  1602. "Mass Storage",
  1603. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1604. 0),
  1605. UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
  1606. "HUAWEI MOBILE",
  1607. "Mass Storage",
  1608. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1609. 0),
  1610. UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000,
  1611. "HUAWEI MOBILE",
  1612. "Mass Storage",
  1613. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1614. 0),
  1615. UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000,
  1616. "HUAWEI MOBILE",
  1617. "Mass Storage",
  1618. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1619. 0),
  1620. UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
  1621. "HUAWEI MOBILE",
  1622. "Mass Storage",
  1623. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1624. 0),
  1625. UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000,
  1626. "HUAWEI MOBILE",
  1627. "Mass Storage",
  1628. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1629. 0),
  1630. UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000,
  1631. "HUAWEI MOBILE",
  1632. "Mass Storage",
  1633. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1634. 0),
  1635. UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000,
  1636. "HUAWEI MOBILE",
  1637. "Mass Storage",
  1638. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1639. 0),
  1640. UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000,
  1641. "HUAWEI MOBILE",
  1642. "Mass Storage",
  1643. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1644. 0),
  1645. UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000,
  1646. "HUAWEI MOBILE",
  1647. "Mass Storage",
  1648. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1649. 0),
  1650. UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000,
  1651. "HUAWEI MOBILE",
  1652. "Mass Storage",
  1653. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1654. 0),
  1655. UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000,
  1656. "HUAWEI MOBILE",
  1657. "Mass Storage",
  1658. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1659. 0),
  1660. UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
  1661. "HUAWEI MOBILE",
  1662. "Mass Storage",
  1663. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1664. 0),
  1665. UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000,
  1666. "HUAWEI MOBILE",
  1667. "Mass Storage",
  1668. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1669. 0),
  1670. UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000,
  1671. "HUAWEI MOBILE",
  1672. "Mass Storage",
  1673. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1674. 0),
  1675. UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000,
  1676. "HUAWEI MOBILE",
  1677. "Mass Storage",
  1678. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1679. 0),
  1680. UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000,
  1681. "HUAWEI MOBILE",
  1682. "Mass Storage",
  1683. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1684. 0),
  1685. UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000,
  1686. "HUAWEI MOBILE",
  1687. "Mass Storage",
  1688. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1689. 0),
  1690. UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000,
  1691. "HUAWEI MOBILE",
  1692. "Mass Storage",
  1693. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1694. 0),
  1695. UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000,
  1696. "HUAWEI MOBILE",
  1697. "Mass Storage",
  1698. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1699. 0),
  1700. UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000,
  1701. "HUAWEI MOBILE",
  1702. "Mass Storage",
  1703. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1704. 0),
  1705. UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000,
  1706. "HUAWEI MOBILE",
  1707. "Mass Storage",
  1708. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1709. 0),
  1710. UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000,
  1711. "HUAWEI MOBILE",
  1712. "Mass Storage",
  1713. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1714. 0),
  1715. UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000,
  1716. "HUAWEI MOBILE",
  1717. "Mass Storage",
  1718. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1719. 0),
  1720. UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000,
  1721. "HUAWEI MOBILE",
  1722. "Mass Storage",
  1723. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1724. 0),
  1725. UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000,
  1726. "HUAWEI MOBILE",
  1727. "Mass Storage",
  1728. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1729. 0),
  1730. UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000,
  1731. "HUAWEI MOBILE",
  1732. "Mass Storage",
  1733. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1734. 0),
  1735. UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000,
  1736. "HUAWEI MOBILE",
  1737. "Mass Storage",
  1738. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1739. 0),
  1740. UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000,
  1741. "HUAWEI MOBILE",
  1742. "Mass Storage",
  1743. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1744. 0),
  1745. UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000,
  1746. "HUAWEI MOBILE",
  1747. "Mass Storage",
  1748. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1749. 0),
  1750. UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000,
  1751. "HUAWEI MOBILE",
  1752. "Mass Storage",
  1753. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1754. 0),
  1755. UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000,
  1756. "HUAWEI MOBILE",
  1757. "Mass Storage",
  1758. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1759. 0),
  1760. UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000,
  1761. "HUAWEI MOBILE",
  1762. "Mass Storage",
  1763. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1764. 0),
  1765. UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000,
  1766. "HUAWEI MOBILE",
  1767. "Mass Storage",
  1768. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1769. 0),
  1770. UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000,
  1771. "HUAWEI MOBILE",
  1772. "Mass Storage",
  1773. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1774. 0),
  1775. UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000,
  1776. "HUAWEI MOBILE",
  1777. "Mass Storage",
  1778. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1779. 0),
  1780. UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000,
  1781. "HUAWEI MOBILE",
  1782. "Mass Storage",
  1783. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1784. 0),
  1785. UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000,
  1786. "HUAWEI MOBILE",
  1787. "Mass Storage",
  1788. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1789. 0),
  1790. UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000,
  1791. "HUAWEI MOBILE",
  1792. "Mass Storage",
  1793. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1794. 0),
  1795. UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000,
  1796. "HUAWEI MOBILE",
  1797. "Mass Storage",
  1798. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1799. 0),
  1800. UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000,
  1801. "HUAWEI MOBILE",
  1802. "Mass Storage",
  1803. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1804. 0),
  1805. UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000,
  1806. "HUAWEI MOBILE",
  1807. "Mass Storage",
  1808. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1809. 0),
  1810. UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000,
  1811. "HUAWEI MOBILE",
  1812. "Mass Storage",
  1813. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1814. 0),
  1815. UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000,
  1816. "HUAWEI MOBILE",
  1817. "Mass Storage",
  1818. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1819. 0),
  1820. UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000,
  1821. "HUAWEI MOBILE",
  1822. "Mass Storage",
  1823. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1824. 0),
  1825. UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000,
  1826. "HUAWEI MOBILE",
  1827. "Mass Storage",
  1828. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1829. 0),
  1830. UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000,
  1831. "HUAWEI MOBILE",
  1832. "Mass Storage",
  1833. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1834. 0),
  1835. UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000,
  1836. "HUAWEI MOBILE",
  1837. "Mass Storage",
  1838. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1839. 0),
  1840. UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000,
  1841. "HUAWEI MOBILE",
  1842. "Mass Storage",
  1843. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1844. 0),
  1845. UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000,
  1846. "HUAWEI MOBILE",
  1847. "Mass Storage",
  1848. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1849. 0),
  1850. UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000,
  1851. "HUAWEI MOBILE",
  1852. "Mass Storage",
  1853. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1854. 0),
  1855. UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000,
  1856. "HUAWEI MOBILE",
  1857. "Mass Storage",
  1858. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1859. 0),
  1860. UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000,
  1861. "HUAWEI MOBILE",
  1862. "Mass Storage",
  1863. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1864. 0),
  1865. UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000,
  1866. "HUAWEI MOBILE",
  1867. "Mass Storage",
  1868. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1869. 0),
  1870. UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000,
  1871. "HUAWEI MOBILE",
  1872. "Mass Storage",
  1873. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1874. 0),
  1875. UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000,
  1876. "HUAWEI MOBILE",
  1877. "Mass Storage",
  1878. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1879. 0),
  1880. UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000,
  1881. "HUAWEI MOBILE",
  1882. "Mass Storage",
  1883. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1884. 0),
  1885. UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000,
  1886. "HUAWEI MOBILE",
  1887. "Mass Storage",
  1888. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1889. 0),
  1890. UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000,
  1891. "HUAWEI MOBILE",
  1892. "Mass Storage",
  1893. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1894. 0),
  1895. UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000,
  1896. "HUAWEI MOBILE",
  1897. "Mass Storage",
  1898. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1899. 0),
  1900. /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
  1901. UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001,
  1902. "Minolta",
  1903. "Dimage Z10",
  1904. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1905. 0 ),
  1906. /* Reported by Kotrla Vitezslav <kotrla@ceb.cz> */
  1907. UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110,
  1908. "SWISSBIT",
  1909. "Black Silver",
  1910. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1911. US_FL_IGNORE_RESIDUE ),
  1912. /*
  1913. * Reported by Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
  1914. * The INIC-3619 bridge is used in the StarTech SLSODDU33B
  1915. * SATA-USB enclosure for slimline optical drives.
  1916. *
  1917. * The quirk enables MakeMKV to properly exchange keys with
  1918. * an installed BD drive.
  1919. */
  1920. UNUSUAL_DEV( 0x13fd, 0x3609, 0x0209, 0x0209,
  1921. "Initio Corporation",
  1922. "INIC-3619",
  1923. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1924. US_FL_IGNORE_RESIDUE ),
  1925. /* Reported by Qinglin Ye <yestyle@gmail.com> */
  1926. UNUSUAL_DEV( 0x13fe, 0x3600, 0x0100, 0x0100,
  1927. "Kingston",
  1928. "DT 101 G2",
  1929. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1930. US_FL_BULK_IGNORE_TAG ),
  1931. /* Reported by Francesco Foresti <frafore@tiscali.it> */
  1932. UNUSUAL_DEV( 0x14cd, 0x6600, 0x0201, 0x0201,
  1933. "Super Top",
  1934. "IDE DEVICE",
  1935. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1936. US_FL_IGNORE_RESIDUE ),
  1937. /* Reported by Michael Büsch <m@bues.ch> */
  1938. UNUSUAL_DEV( 0x152d, 0x0567, 0x0114, 0x0117,
  1939. "JMicron",
  1940. "USB to ATA/ATAPI Bridge",
  1941. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1942. US_FL_BROKEN_FUA ),
  1943. /* Reported by David Kozub <zub@linux.fjfi.cvut.cz> */
  1944. UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x9999,
  1945. "JMicron",
  1946. "JMS567",
  1947. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1948. US_FL_BROKEN_FUA),
  1949. /*
  1950. * Reported by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
  1951. * JMicron responds to USN and several other SCSI ioctls with a
  1952. * residue that causes subsequent I/O requests to fail. */
  1953. UNUSUAL_DEV( 0x152d, 0x2329, 0x0100, 0x0100,
  1954. "JMicron",
  1955. "USB to ATA/ATAPI Bridge",
  1956. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1957. US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ),
  1958. /* Reported by Dmitry Nezhevenko <dion@dion.org.ua> */
  1959. UNUSUAL_DEV( 0x152d, 0x2566, 0x0114, 0x0114,
  1960. "JMicron",
  1961. "USB to ATA/ATAPI Bridge",
  1962. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1963. US_FL_BROKEN_FUA ),
  1964. /* Reported by Teijo Kinnunen <teijo.kinnunen@code-q.fi> */
  1965. UNUSUAL_DEV( 0x152d, 0x2567, 0x0117, 0x0117,
  1966. "JMicron",
  1967. "USB to ATA/ATAPI Bridge",
  1968. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1969. US_FL_BROKEN_FUA ),
  1970. /* Reported-by George Cherian <george.cherian@cavium.com> */
  1971. UNUSUAL_DEV(0x152d, 0x9561, 0x0000, 0x9999,
  1972. "JMicron",
  1973. "JMS56x",
  1974. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1975. US_FL_NO_REPORT_OPCODES),
  1976. /*
  1977. * Entrega Technologies U1-SC25 (later Xircom PortGear PGSCSI)
  1978. * and Mac USB Dock USB-SCSI */
  1979. UNUSUAL_DEV( 0x1645, 0x0007, 0x0100, 0x0133,
  1980. "Entrega Technologies",
  1981. "USB to SCSI Converter",
  1982. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  1983. US_FL_SCM_MULT_TARG ),
  1984. /*
  1985. * Reported by Robert Schedel <r.schedel@yahoo.de>
  1986. * Note: this is a 'super top' device like the above 14cd/6600 device
  1987. */
  1988. UNUSUAL_DEV( 0x1652, 0x6600, 0x0201, 0x0201,
  1989. "Teac",
  1990. "HD-35PUK-B",
  1991. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1992. US_FL_IGNORE_RESIDUE ),
  1993. /* Reported by Oliver Neukum <oneukum@suse.com> */
  1994. UNUSUAL_DEV( 0x174c, 0x55aa, 0x0100, 0x0100,
  1995. "ASMedia",
  1996. "AS2105",
  1997. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  1998. US_FL_NEEDS_CAP16),
  1999. /* Reported by Jesse Feddema <jdfeddema@gmail.com> */
  2000. UNUSUAL_DEV( 0x177f, 0x0400, 0x0000, 0x0000,
  2001. "Yarvik",
  2002. "PMP400",
  2003. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2004. US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ),
  2005. UNUSUAL_DEV( 0x1822, 0x0001, 0x0000, 0x9999,
  2006. "Ariston Technologies",
  2007. "iConnect USB to SCSI adapter",
  2008. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  2009. US_FL_SCM_MULT_TARG ),
  2010. /*
  2011. * Reported by Hans de Goede <hdegoede@redhat.com>
  2012. * These Appotech controllers are found in Picture Frames, they provide a
  2013. * (buggy) emulation of a cdrom drive which contains the windows software
  2014. * Uploading of pictures happens over the corresponding /dev/sg device.
  2015. */
  2016. UNUSUAL_DEV( 0x1908, 0x1315, 0x0000, 0x0000,
  2017. "BUILDWIN",
  2018. "Photo Frame",
  2019. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2020. US_FL_BAD_SENSE ),
  2021. UNUSUAL_DEV( 0x1908, 0x1320, 0x0000, 0x0000,
  2022. "BUILDWIN",
  2023. "Photo Frame",
  2024. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2025. US_FL_BAD_SENSE ),
  2026. UNUSUAL_DEV( 0x1908, 0x3335, 0x0200, 0x0200,
  2027. "BUILDWIN",
  2028. "Photo Frame",
  2029. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2030. US_FL_NO_READ_DISC_INFO ),
  2031. /*
  2032. * Reported by Matthias Schwarzott <zzam@gentoo.org>
  2033. * The Amazon Kindle treats SYNCHRONIZE CACHE as an indication that
  2034. * the host may be finished with it, and automatically ejects its
  2035. * emulated media unless it receives another command within one second.
  2036. */
  2037. UNUSUAL_DEV( 0x1949, 0x0004, 0x0000, 0x9999,
  2038. "Amazon",
  2039. "Kindle",
  2040. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2041. US_FL_SENSE_AFTER_SYNC ),
  2042. /*
  2043. * Reported by Oliver Neukum <oneukum@suse.com>
  2044. * This device morphes spontaneously into another device if the access
  2045. * pattern of Windows isn't followed. Thus writable media would be dirty
  2046. * if the initial instance is used. So the device is limited to its
  2047. * virtual CD.
  2048. * And yes, the concept that BCD goes up to 9 is not heeded
  2049. */
  2050. UNUSUAL_DEV( 0x19d2, 0x1225, 0x0000, 0xffff,
  2051. "ZTE,Incorporated",
  2052. "ZTE WCDMA Technologies MSM",
  2053. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2054. US_FL_SINGLE_LUN ),
  2055. /*
  2056. * Reported by Sven Geggus <sven-usbst@geggus.net>
  2057. * This encrypted pen drive returns bogus data for the initial READ(10).
  2058. */
  2059. UNUSUAL_DEV( 0x1b1c, 0x1ab5, 0x0200, 0x0200,
  2060. "Corsair",
  2061. "Padlock v2",
  2062. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2063. US_FL_INITIAL_READ10 ),
  2064. /*
  2065. * Reported by Hans de Goede <hdegoede@redhat.com>
  2066. * These are mini projectors using USB for both power and video data transport
  2067. * The usb-storage interface is a virtual windows driver CD, which the gm12u320
  2068. * driver automatically converts into framebuffer & kms dri device nodes.
  2069. */
  2070. UNUSUAL_DEV( 0x1de1, 0xc102, 0x0000, 0xffff,
  2071. "Grain-media Technology Corp.",
  2072. "USB3.0 Device GM12U320",
  2073. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2074. US_FL_IGNORE_DEVICE ),
  2075. /*
  2076. * Patch by Richard Schütz <r.schtz@t-online.de>
  2077. * This external hard drive enclosure uses a JMicron chip which
  2078. * needs the US_FL_IGNORE_RESIDUE flag to work properly.
  2079. */
  2080. UNUSUAL_DEV( 0x1e68, 0x001b, 0x0000, 0x0000,
  2081. "TrekStor GmbH & Co. KG",
  2082. "DataStation maxi g.u",
  2083. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2084. US_FL_IGNORE_RESIDUE | US_FL_SANE_SENSE ),
  2085. /* Reported by Jasper Mackenzie <scarletpimpernal@hotmail.com> */
  2086. UNUSUAL_DEV( 0x1e74, 0x4621, 0x0000, 0x0000,
  2087. "Coby Electronics",
  2088. "MP3 Player",
  2089. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2090. US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ),
  2091. /* Reported by Witold Lipieta <witold.lipieta@thaumatec.com> */
  2092. UNUSUAL_DEV( 0x1fc9, 0x0117, 0x0100, 0x0100,
  2093. "NXP Semiconductors",
  2094. "PN7462AU",
  2095. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2096. US_FL_IGNORE_RESIDUE ),
  2097. /* Supplied with some Castlewood ORB removable drives */
  2098. UNUSUAL_DEV( 0x2027, 0xa001, 0x0000, 0x9999,
  2099. "Double-H Technology",
  2100. "USB to SCSI Intelligent Cable",
  2101. USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_euscsi_init,
  2102. US_FL_SCM_MULT_TARG ),
  2103. /*
  2104. * Reported by DocMAX <mail@vacharakis.de>
  2105. * and Thomas Weißschuh <linux@weissschuh.net>
  2106. */
  2107. UNUSUAL_DEV( 0x2109, 0x0715, 0x9999, 0x9999,
  2108. "VIA Labs, Inc.",
  2109. "VL817 SATA Bridge",
  2110. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2111. US_FL_IGNORE_UAS),
  2112. UNUSUAL_DEV( 0x2116, 0x0320, 0x0001, 0x0001,
  2113. "ST",
  2114. "2A",
  2115. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2116. US_FL_FIX_CAPACITY),
  2117. /*
  2118. * patch submitted by Davide Perini <perini.davide@dpsoftware.org>
  2119. * and Renato Perini <rperini@email.it>
  2120. */
  2121. UNUSUAL_DEV( 0x22b8, 0x3010, 0x0001, 0x0001,
  2122. "Motorola",
  2123. "RAZR V3x",
  2124. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2125. US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),
  2126. /*
  2127. * Patch by Constantin Baranov <const@tltsu.ru>
  2128. * Report by Andreas Koenecke.
  2129. * Motorola ROKR Z6.
  2130. */
  2131. UNUSUAL_DEV( 0x22b8, 0x6426, 0x0101, 0x0101,
  2132. "Motorola",
  2133. "MSnc.",
  2134. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2135. US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
  2136. /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */
  2137. UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999,
  2138. "MPIO",
  2139. "HS200",
  2140. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2141. US_FL_GO_SLOW ),
  2142. /* Reported-by: Tim Anderson <tsa@biglakesoftware.com> */
  2143. UNUSUAL_DEV( 0x2ca3, 0x0031, 0x0000, 0x9999,
  2144. "DJI",
  2145. "CineSSD",
  2146. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2147. US_FL_NO_ATA_1X),
  2148. /*
  2149. * Reported by Frederic Marchal <frederic.marchal@wowcompany.com>
  2150. * Mio Moov 330
  2151. */
  2152. UNUSUAL_DEV( 0x3340, 0xffff, 0x0000, 0x0000,
  2153. "Mitac",
  2154. "Mio DigiWalker USB Sync",
  2155. USB_SC_DEVICE,USB_PR_DEVICE,NULL,
  2156. US_FL_MAX_SECTORS_64 ),
  2157. /* Reported by Cyril Roelandt <tipecaml@gmail.com> */
  2158. UNUSUAL_DEV( 0x357d, 0x7788, 0x0114, 0x0114,
  2159. "JMicron",
  2160. "USB to ATA/ATAPI Bridge",
  2161. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2162. US_FL_BROKEN_FUA | US_FL_IGNORE_UAS ),
  2163. /* Reported by Andrey Rahmatullin <wrar@altlinux.org> */
  2164. UNUSUAL_DEV( 0x4102, 0x1020, 0x0100, 0x0100,
  2165. "iRiver",
  2166. "MP3 T10",
  2167. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2168. US_FL_IGNORE_RESIDUE ),
  2169. /* Reported by Sergey Pinaev <dfo@antex.ru> */
  2170. UNUSUAL_DEV( 0x4102, 0x1059, 0x0000, 0x0000,
  2171. "iRiver",
  2172. "P7K",
  2173. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2174. US_FL_MAX_SECTORS_64 ),
  2175. /*
  2176. * David Härdeman <david@2gen.com>
  2177. * The key makes the SCSI stack print confusing (but harmless) messages
  2178. */
  2179. UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100,
  2180. "Iomega",
  2181. "Micro Mini 1GB",
  2182. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
  2183. /* "G-DRIVE" external HDD hangs on write without these.
  2184. * Patch submitted by Alexander Kappner <agk@godking.net>
  2185. */
  2186. UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999,
  2187. "SimpleTech",
  2188. "External HDD",
  2189. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2190. US_FL_ALWAYS_SYNC),
  2191. /*
  2192. * Nick Bowler <nbowler@elliptictech.com>
  2193. * SCSI stack spams (otherwise harmless) error messages.
  2194. */
  2195. UNUSUAL_DEV( 0xc251, 0x4003, 0x0100, 0x0100,
  2196. "Keil Software, Inc.",
  2197. "V2M MotherBoard",
  2198. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2199. US_FL_NOT_LOCKABLE),
  2200. /*
  2201. * Reported by Icenowy Zheng <uwu@icenowy.me>
  2202. * This is an interface for vendor-specific cryptic commands instead
  2203. * of real USB storage device.
  2204. */
  2205. UNUSUAL_DEV( 0xe5b7, 0x0811, 0x0100, 0x0100,
  2206. "ZhuHai JieLi Technology",
  2207. "JieLi BR21",
  2208. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2209. US_FL_IGNORE_DEVICE),
  2210. /* Reported by Andrew Simmons <andrew.simmons@gmail.com> */
  2211. UNUSUAL_DEV( 0xed06, 0x4500, 0x0001, 0x0001,
  2212. "DataStor",
  2213. "USB4500 FW1.04",
  2214. USB_SC_DEVICE, USB_PR_DEVICE, NULL,
  2215. US_FL_CAPACITY_HEURISTICS),
  2216. /* Reported by Alessio Treglia <quadrispro@ubuntu.com> */
  2217. UNUSUAL_DEV( 0xed10, 0x7636, 0x0001, 0x0001,
  2218. "TGE",
  2219. "Digital MP3 Audio Player",
  2220. USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ),
  2221. /* Unusual uas devices */
  2222. #if IS_ENABLED(CONFIG_USB_UAS)
  2223. #include "unusual_uas.h"
  2224. #endif
  2225. /* Control/Bulk transport for all SubClass values */
  2226. USUAL_DEV(USB_SC_RBC, USB_PR_CB),
  2227. USUAL_DEV(USB_SC_8020, USB_PR_CB),
  2228. USUAL_DEV(USB_SC_QIC, USB_PR_CB),
  2229. USUAL_DEV(USB_SC_UFI, USB_PR_CB),
  2230. USUAL_DEV(USB_SC_8070, USB_PR_CB),
  2231. USUAL_DEV(USB_SC_SCSI, USB_PR_CB),
  2232. /* Control/Bulk/Interrupt transport for all SubClass values */
  2233. USUAL_DEV(USB_SC_RBC, USB_PR_CBI),
  2234. USUAL_DEV(USB_SC_8020, USB_PR_CBI),
  2235. USUAL_DEV(USB_SC_QIC, USB_PR_CBI),
  2236. USUAL_DEV(USB_SC_UFI, USB_PR_CBI),
  2237. USUAL_DEV(USB_SC_8070, USB_PR_CBI),
  2238. USUAL_DEV(USB_SC_SCSI, USB_PR_CBI),
  2239. /* Bulk-only transport for all SubClass values */
  2240. USUAL_DEV(USB_SC_RBC, USB_PR_BULK),
  2241. USUAL_DEV(USB_SC_8020, USB_PR_BULK),
  2242. USUAL_DEV(USB_SC_QIC, USB_PR_BULK),
  2243. USUAL_DEV(USB_SC_UFI, USB_PR_BULK),
  2244. USUAL_DEV(USB_SC_8070, USB_PR_BULK),
  2245. USUAL_DEV(USB_SC_SCSI, USB_PR_BULK),