blob: 45528b5f5174086e0ec4ad3f116bc0550c784fe9 [file] [log] [blame]
Linus Walleij3e667ae2007-10-29 23:29:39 +00001/**
Linus Walleij1a673de2007-10-29 23:10:05 +00002 * \file music-players.h
3 * List of music players as USB ids.
4 *
5 * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
Linus Walleij6e50b1b2012-01-11 07:50:52 +01006 * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
Linus Walleij1a673de2007-10-29 23:10:05 +00007 * Copyright (C) 2006-2007 Marcus Meissner
8 * Copyright (C) 2007 Ted Bullock
Linus Walleijd8992bb2012-09-16 22:06:18 +02009 * Copyright (C) 2012 Sony Mobile Communications AB
Linus Walleij1a673de2007-10-29 23:10:05 +000010 *
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2 of the License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
20 *
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with this library; if not, write to the
23 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 * Boston, MA 02111-1307, USA.
25 *
Linus Walleij1a673de2007-10-29 23:10:05 +000026 * This file is supposed to be included within a struct from both libmtp
27 * and libgphoto2.
Linus Walleijf0702982008-10-25 21:37:43 +000028 *
29 * Information can be harvested from Windows driver .INF files, see:
30 * http://msdn.microsoft.com/en-us/library/aa973606.aspx
Linus Walleij1a673de2007-10-29 23:10:05 +000031 */
Linus Walleij1a673de2007-10-29 23:10:05 +000032/*
33 * MTP device list, trying real bad to get all devices into
34 * this list by stealing from everyone I know.
Linus Walleij18ed0162009-05-06 16:51:08 +000035 * Some devices taken from the Rockbox device listing:
36 * http://www.rockbox.org/twiki/bin/view/Main/DeviceDetection
Linus Walleij1a673de2007-10-29 23:10:05 +000037 */
38
39 /*
Linus Walleijcfe8f3f2009-09-12 06:34:27 +000040 * Creative Technology and ZiiLABS
Linus Walleij1a673de2007-10-29 23:10:05 +000041 * Initially the Creative devices was all we supported so these are
42 * the most thoroughly tested devices. Presumably only the devices
43 * with older firmware (the ones that have 32bit object size) will
Linus Walleijcc2cf972007-11-22 20:23:43 +000044 * need the DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL flag. This bug
45 * manifest itself when you have a lot of folders on the device,
46 * some of the folders will start to disappear when getting all objects
47 * and properties.
Linus Walleij1a673de2007-10-29 23:10:05 +000048 */
Linus Walleijb989cf12011-11-25 09:20:13 +010049 { "Creative", 0x041e, "ZEN Vision", 0x411f,
50 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
51 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
52 { "Creative", 0x041e, "Portable Media Center", 0x4123,
53 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
54 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
55 { "Creative", 0x041e, "ZEN Xtra (MTP mode)", 0x4128,
56 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
57 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
58 { "Dell", 0x041e, "DJ (2nd generation)", 0x412f,
59 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
60 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
61 { "Creative", 0x041e, "ZEN Micro (MTP mode)", 0x4130,
62 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
63 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
64 { "Creative", 0x041e, "ZEN Touch (MTP mode)", 0x4131,
65 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
66 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
67 { "Dell", 0x041e, "Dell Pocket DJ (MTP mode)", 0x4132,
68 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
69 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
70 { "Creative", 0x041e, "ZEN MicroPhoto (alternate version)", 0x4133,
71 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
72 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
73 { "Creative", 0x041e, "ZEN Sleek (MTP mode)", 0x4137,
74 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
75 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
76 { "Creative", 0x041e, "ZEN MicroPhoto", 0x413c,
77 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
78 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
79 { "Creative", 0x041e, "ZEN Sleek Photo", 0x413d,
80 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
81 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
82 { "Creative", 0x041e, "ZEN Vision:M", 0x413e,
83 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
84 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij1a673de2007-10-29 23:10:05 +000085 // Reported by marazm@o2.pl
Linus Walleijb989cf12011-11-25 09:20:13 +010086 { "Creative", 0x041e, "ZEN V", 0x4150,
87 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
88 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij1a673de2007-10-29 23:10:05 +000089 // Reported by danielw@iinet.net.au
90 // This version of the Vision:M needs the no release interface flag,
91 // unclear whether the other version above need it too or not.
Linus Walleijb989cf12011-11-25 09:20:13 +010092 { "Creative", 0x041e, "ZEN Vision:M (DVP-HD0004)", 0x4151,
Linus Walleij6222f732009-06-24 08:27:08 +000093 DEVICE_FLAG_NO_RELEASE_INTERFACE |
Linus Walleijb989cf12011-11-25 09:20:13 +010094 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
95 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij1a673de2007-10-29 23:10:05 +000096 // Reported by Darel on the XNJB forums
Linus Walleij6222f732009-06-24 08:27:08 +000097 { "Creative", 0x041e, "ZEN V Plus", 0x4152,
Linus Walleijb989cf12011-11-25 09:20:13 +010098 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
99 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij6222f732009-06-24 08:27:08 +0000100 { "Creative", 0x041e, "ZEN Vision W", 0x4153,
Linus Walleijb989cf12011-11-25 09:20:13 +0100101 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
102 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Richard Lowa11a6ad2008-01-21 17:23:55 +0000103 // Don't add 0x4155: this is a Zen Stone device which is not MTP
Linus Walleij1a673de2007-10-29 23:10:05 +0000104 // Reported by Paul Kurczaba <paul@kurczaba.com>
Linus Walleijb989cf12011-11-25 09:20:13 +0100105 { "Creative", 0x041e, "ZEN", 0x4157,
106 DEVICE_FLAG_IGNORE_HEADER_ERRORS |
107 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
108 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
109 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij1a673de2007-10-29 23:10:05 +0000110 // Reported by Ringofan <mcroman@users.sourceforge.net>
Linus Walleij6222f732009-06-24 08:27:08 +0000111 { "Creative", 0x041e, "ZEN V 2GB", 0x4158,
Linus Walleijb989cf12011-11-25 09:20:13 +0100112 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
113 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleijf0ea0292008-09-10 06:52:16 +0000114 // Reported by j norment <stormzen@gmail.com>
Linus Walleij6222f732009-06-24 08:27:08 +0000115 { "Creative", 0x041e, "ZEN Mozaic", 0x4161,
Linus Walleijb989cf12011-11-25 09:20:13 +0100116 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
117 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleijc2bc9732008-08-14 21:12:44 +0000118 // Reported by Aaron F. Gonzalez <sub_tex@users.sourceforge.net>
Linus Walleij6222f732009-06-24 08:27:08 +0000119 { "Creative", 0x041e, "ZEN X-Fi", 0x4162,
Linus Walleijb989cf12011-11-25 09:20:13 +0100120 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
121 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleij3b3f4302012-04-03 01:24:29 +0200122 // Reported by farmerstimuli <farmerstimuli@users.sourceforge.net>
123 { "Creative", 0x041e, "ZEN X-Fi 3", 0x4169,
124 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
125 DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
Linus Walleija9058aa2009-09-12 06:36:18 +0000126 // Reported by Todor Gyumyushev <yodor1@users.sourceforge.net>
Linus Walleijcfe8f3f2009-09-12 06:34:27 +0000127 { "ZiiLABS", 0x041e, "Zii EGG", 0x6000,
Linus Walleijbf1469f2009-09-15 16:50:40 +0000128 DEVICE_FLAG_UNLOAD_DRIVER |
129 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
130 DEVICE_FLAG_NO_RELEASE_INTERFACE |
131 DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
132 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij1a673de2007-10-29 23:10:05 +0000133
134 /*
135 * Samsung
136 * We suspect that more of these are dual mode.
Linus Walleij46da8742007-11-20 11:11:03 +0000137 * We suspect more of these might need DEVICE_FLAG_NO_ZERO_READS
Linus Walleijf3c44052008-08-16 21:14:56 +0000138 * We suspect more of these might need DEVICE_FLAG_PLAYLIST_SPL_V1
139 * or DEVICE_FLAG_PLAYLIST_SPL_V2 to get playlists working.
Linus Walleijcc2cf972007-11-22 20:23:43 +0000140 * YP-NEU, YP-NDU, YP-20, YP-800, YP-MF Series, YP-100, YP-30
141 * YP-700 and YP-90 are NOT MTP, but use a Samsung custom protocol.
Linus Walleij2d54eba2010-05-23 23:37:10 +0000142 * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg
143 * status.
Linus Walleij1a673de2007-10-29 23:10:05 +0000144 */
Linus Walleij6e1f7f42007-11-15 23:27:25 +0000145 // From anonymous SourceForge user, not verified
146 { "Samsung", 0x04e8, "YP-900", 0x0409, DEVICE_FLAG_NONE },
Linus Walleijc2bc9732008-08-14 21:12:44 +0000147 // From MItch <dbaker@users.sourceforge.net>
148 { "Samsung", 0x04e8, "I550W Phone", 0x04a4, DEVICE_FLAG_NONE },
Linus Walleij5e44ed52010-01-30 08:06:11 +0000149 // From Manfred Enning <menning@users.sourceforge.net>
150 { "Samsung", 0x04e8, "Jet S8000", 0x4f1f, DEVICE_FLAG_NONE },
Linus Walleijca8b20a2008-08-14 07:02:16 +0000151 // From Gabriel Nunes <gabrielkm1@yahoo.com.br>
152 { "Samsung", 0x04e8, "YH-920 (501d)", 0x501d, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000153 // From Soren O'Neill
Linus Walleijca8b20a2008-08-14 07:02:16 +0000154 { "Samsung", 0x04e8, "YH-920 (5022)", 0x5022, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000155 // Contributed by aronvanammers on SourceForge
156 { "Samsung", 0x04e8, "YH-925GS", 0x5024, DEVICE_FLAG_NONE },
157 // From libgphoto2, according to tests by Stephan Fabel it cannot
158 // get all objects with the getobjectproplist command..
Linus Walleij7b3e3022012-01-19 17:10:25 +0100159 { "Samsung", 0x04e8, "YH-820", 0x502e,
160 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij1a673de2007-10-29 23:10:05 +0000161 // Contributed by polux2001@users.sourceforge.net
Linus Walleij7b3e3022012-01-19 17:10:25 +0100162 { "Samsung", 0x04e8, "YH-925(-GS)", 0x502f,
163 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleijca8b20a2008-08-14 07:02:16 +0000164 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij1a673de2007-10-29 23:10:05 +0000165 // Contributed by anonymous person on SourceForge
Linus Walleij7b3e3022012-01-19 17:10:25 +0100166 { "Samsung", 0x04e8, "YH-J70J", 0x5033,
167 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000168 // From XNJB user
Linus Walleijf3c44052008-08-16 21:14:56 +0000169 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100170 { "Samsung", 0x04e8, "YP-Z5", 0x503c,
171 DEVICE_FLAG_UNLOAD_DRIVER |
172 DEVICE_FLAG_OGG_IS_UNKNOWN |
173 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Richard Lowef197312008-11-01 18:29:41 +0000174 // Don't add 0x5041 as this is YP-Z5 in USB mode
Linus Walleij1a673de2007-10-29 23:10:05 +0000175 // Contributed by anonymous person on SourceForge
Linus Walleij7b3e3022012-01-19 17:10:25 +0100176 { "Samsung", 0x04e8, "YP-T7J", 0x5047,
177 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij2d54eba2010-05-23 23:37:10 +0000178 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +0000179 // Reported by cstrickler@gmail.com
Linus Walleij2d54eba2010-05-23 23:37:10 +0000180 { "Samsung", 0x04e8, "YP-U2J (YP-U2JXB/XAA)", 0x5054,
Linus Walleij7b3e3022012-01-19 17:10:25 +0100181 DEVICE_FLAG_UNLOAD_DRIVER |
182 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +0000183 // Reported by Andrew Benson
Linus Walleij7b3e3022012-01-19 17:10:25 +0100184 { "Samsung", 0x04e8, "YP-F2J", 0x5057,
185 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000186 // Reported by Patrick <skibler@gmail.com>
Linus Walleijf3c44052008-08-16 21:14:56 +0000187 // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160
Linus Walleij7b3e3022012-01-19 17:10:25 +0100188 { "Samsung", 0x04e8, "YP-K5", 0x505a,
189 DEVICE_FLAG_UNLOAD_DRIVER |
190 DEVICE_FLAG_NO_ZERO_READS |
191 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij10796872007-12-28 22:56:02 +0000192 // From dev.local@gmail.com - 0x4e8/0x507c is the UMS mode, apparently
Linus Walleij23ab1542008-01-06 22:10:34 +0000193 // do not add that device.
Linus Walleij1a673de2007-10-29 23:10:05 +0000194 // From m.eik michalke
Linus Walleije9b4e912008-11-30 00:09:17 +0000195 // This device does NOT use the special SPL playlist according to sypqgjxu@gmx.de.
Linus Walleij7b3e3022012-01-19 17:10:25 +0100196 { "Samsung", 0x04e8, "YP-U3", 0x507d,
197 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij2d54eba2010-05-23 23:37:10 +0000198 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +0000199 // Reported by Matthew Wilcox <matthew@wil.cx>
Linus Walleijb1058e02008-05-21 00:01:16 +0000200 // Sergio <sfrdll@tiscali.it> reports this device need the BROKEN ALL flag.
Linus Walleijf3c44052008-08-16 21:14:56 +0000201 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100202 { "Samsung", 0x04e8, "YP-T9", 0x507f,
203 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij2d54eba2010-05-23 23:37:10 +0000204 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleij7b3e3022012-01-19 17:10:25 +0100205 DEVICE_FLAG_OGG_IS_UNKNOWN |
206 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij1a673de2007-10-29 23:10:05 +0000207 // From Paul Clinch
Linus Walleijf3c44052008-08-16 21:14:56 +0000208 // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160
Linus Walleij1e0eba72009-02-21 07:26:29 +0000209 // Some versions of the firmware reportedly support OGG, reportedly only the
210 // UMS versions, so MTP+OGG is not possible on this device.
Linus Walleij7b3e3022012-01-19 17:10:25 +0100211 { "Samsung", 0x04e8, "YP-K3", 0x5081,
212 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij84072342009-06-24 08:08:26 +0000213 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Richard Low6a2f3b82007-11-04 18:39:17 +0000214 // From XNJB user
Linus Walleijf3c44052008-08-16 21:14:56 +0000215 // From Alistair Boyle, .spl v2 required for playlists
Linus Walleijd4157be2009-02-21 07:23:26 +0000216 // According to the device log it properly supports OGG
Linus Walleij7b3e3022012-01-19 17:10:25 +0100217 { "Samsung", 0x04e8, "YP-P2", 0x5083,
218 DEVICE_FLAG_UNLOAD_DRIVER |
219 DEVICE_FLAG_NO_ZERO_READS |
220 DEVICE_FLAG_OGG_IS_UNKNOWN |
Linus Walleij2d54eba2010-05-23 23:37:10 +0000221 DEVICE_FLAG_PLAYLIST_SPL_V2 },
Linus Walleij5a6bcf72007-10-31 20:52:42 +0000222 // From Paul Clinch
Linus Walleijf3c44052008-08-16 21:14:56 +0000223 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100224 { "Samsung", 0x04e8, "YP-T10", 0x508a,
225 DEVICE_FLAG_UNLOAD_DRIVER |
226 DEVICE_FLAG_OGG_IS_UNKNOWN |
227 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
228 DEVICE_FLAG_PLAYLIST_SPL_V1 |
229 DEVICE_FLAG_NO_ZERO_READS },
Linus Walleij4b43bbf2008-04-07 09:16:44 +0000230 // From Wim Verwimp <wimverwimp@gmail.com>
231 // Not sure about the Ogg and broken proplist flags here. Just guessing.
Linus Walleijf3c44052008-08-16 21:14:56 +0000232 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100233 { "Samsung", 0x04e8, "YP-S5", 0x508b,
234 DEVICE_FLAG_UNLOAD_DRIVER |
235 DEVICE_FLAG_OGG_IS_UNKNOWN |
236 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij84072342009-06-24 08:08:26 +0000237 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij07bb5382008-07-31 20:21:09 +0000238 // From Ludovic Danigo
Linus Walleijf3c44052008-08-16 21:14:56 +0000239 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100240 { "Samsung", 0x04e8, "YP-S3", 0x5091,
241 DEVICE_FLAG_UNLOAD_DRIVER |
242 DEVICE_FLAG_OGG_IS_UNKNOWN |
243 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij84072342009-06-24 08:08:26 +0000244 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij2288a6a2009-01-27 21:16:38 +0000245 // From Adrian Levi <adrian.levi@gmail.com>
246 // Guessing on .spl flag
Linus Walleijd4157be2009-02-21 07:23:26 +0000247 // This one supports OGG properly through the correct MTP type.
Linus Walleij84072342009-06-24 08:08:26 +0000248 { "Samsung", 0x04e8, "YP-U4", 0x5093, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijc3a6eeb2010-01-30 07:32:41 +0000249 // From Chris Le Sueur <thefishface@gmail.com>
250 // Guessing on .spl flag
251 // This one supports OGG properly through the correct MTP type.
Linus Walleij7b3e3022012-01-19 17:10:25 +0100252 { "Samsung", 0x04e8, "YP-R1", 0x510f,
253 DEVICE_FLAG_UNLOAD_DRIVER |
254 DEVICE_FLAG_UNIQUE_FILENAMES |
255 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijebf32cc2010-04-04 23:07:25 +0000256 // From Anonymous SourceForge user
Linus Walleij2b8c8492008-12-12 00:16:48 +0000257 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100258 { "Samsung", 0x04e8, "YP-Q1", 0x5115,
259 DEVICE_FLAG_UNLOAD_DRIVER |
260 DEVICE_FLAG_OGG_IS_UNKNOWN |
261 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij84072342009-06-24 08:08:26 +0000262 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij6e3d9532010-01-08 11:09:50 +0000263 // From Holger
Linus Walleij7b3e3022012-01-19 17:10:25 +0100264 { "Samsung", 0x04e8, "YP-M1", 0x5118,
265 DEVICE_FLAG_UNLOAD_DRIVER |
266 DEVICE_FLAG_OGG_IS_UNKNOWN |
267 DEVICE_FLAG_PLAYLIST_SPL_V2 },
Linus Walleijb49a9f72009-05-14 20:46:07 +0000268 // From Anonymous SourceForge user
269 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100270 { "Samsung", 0x04e8, "YP-P3", 0x511a,
271 DEVICE_FLAG_UNLOAD_DRIVER |
272 DEVICE_FLAG_OGG_IS_UNKNOWN |
273 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleijb49a9f72009-05-14 20:46:07 +0000274 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij316628c2009-06-15 19:55:41 +0000275 // From Anonymous SourceForge user
276 // Guessing on .spl flag
Linus Walleij7b3e3022012-01-19 17:10:25 +0100277 { "Samsung", 0x04e8, "YP-Q2", 0x511d,
278 DEVICE_FLAG_UNLOAD_DRIVER |
279 DEVICE_FLAG_OGG_IS_UNKNOWN |
280 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij84072342009-06-24 08:08:26 +0000281 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij41e94cf2009-05-19 22:44:53 +0000282 // From Marco Pizzocaro <mpizzocaro@users.sourceforge.net>
283 // Guessing on .spl flag
284 { "Samsung", 0x04e8, "YP-U5", 0x5121,
Linus Walleij7b3e3022012-01-19 17:10:25 +0100285 DEVICE_FLAG_UNLOAD_DRIVER |
286 DEVICE_FLAG_PLAYLIST_SPL_V1 |
287 DEVICE_FLAG_UNIQUE_FILENAMES |
288 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijc2cdbfc2009-11-20 21:28:17 +0000289 // From Leonardo Accorsi <laccorsi@users.sourceforge.net>
290 // Guessing on .spl flag
291 { "Samsung", 0x04e8, "YP-R0", 0x5125,
Linus Walleij7b3e3022012-01-19 17:10:25 +0100292 DEVICE_FLAG_UNLOAD_DRIVER |
293 DEVICE_FLAG_PLAYLIST_SPL_V1 |
294 DEVICE_FLAG_UNIQUE_FILENAMES |
295 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij6c8ac432012-09-04 00:43:53 +0200296 // The "YP-R2" (0x04e8/0x512d) is NOT MTP, it is UMS only.
Linus Walleij509cd652011-03-04 20:34:02 +0100297 // From Manuel Carro
298 // Copied from Q2
Linus Walleij7b3e3022012-01-19 17:10:25 +0100299 { "Samsung", 0x04e8, "YP-Q3", 0x5130,
300 DEVICE_FLAG_UNLOAD_DRIVER |
301 DEVICE_FLAG_OGG_IS_UNKNOWN |
302 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij509cd652011-03-04 20:34:02 +0100303 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleijb551e962011-11-03 16:38:17 +0100304 // Reported by: traaf <traaf@users.sourceforge.net>
305 // Guessing on the playlist type!
306 // Appears to present itself properly as a PTP device with MTP extensions!
Linus Walleij7b3e3022012-01-19 17:10:25 +0100307 { "Samsung", 0x04e8, "YP-Z3", 0x5137,
308 DEVICE_FLAG_UNLOAD_DRIVER |
309 DEVICE_FLAG_OGG_IS_UNKNOWN |
310 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleijb551e962011-11-03 16:38:17 +0100311 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij5b9bd242012-10-21 11:46:27 +0200312 // YP-F3 is NOT MTP - USB mass storage
Linus Walleije8079072010-04-02 12:25:50 +0000313 // From a rouge .INF file
Linus Walleij23ab1542008-01-06 22:10:34 +0000314 // this device ID seems to have been recycled for:
315 // the Samsung SGH-A707 Cingular cellphone
316 // the Samsung L760-V cellphone
Linus Walleij5b03d302008-11-25 20:39:27 +0000317 // the Samsung SGH-U900 cellphone
Linus Walleij8f86b0e2011-05-27 00:05:55 +0200318 // the Samsung Fascinate player
Linus Walleijfa7782a2011-12-29 18:52:45 +0100319 { "Samsung", 0x04e8,
320 "YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate",
321 0x5a0f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij2350b712008-01-14 22:54:37 +0000322 // From Santi Béjar <sbejar@gmail.com> - not sure this is MTP...
323 // { "Samsung", 0x04e8, "Z170 Mobile Phone", 0x6601, DEVICE_FLAG_UNLOAD_DRIVER },
324 // From Santi Béjar <sbejar@gmail.com> - not sure this is MTP...
325 // { "Samsung", 0x04e8, "E250 Mobile Phone", 0x663e, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij07637a62010-05-22 22:52:58 +0000326 // From an anonymous SF user
Linus Walleij7b3e3022012-01-19 17:10:25 +0100327 { "Samsung", 0x04e8, "M7600 Beat/GT-S8300T/SGH-F490/S8300", 0x6642,
328 DEVICE_FLAG_UNLOAD_DRIVER |
329 DEVICE_FLAG_BROKEN_BATTERY_LEVEL },
Linus Walleij1a673de2007-10-29 23:10:05 +0000330 // From Lionel Bouton
Linus Walleij7b3e3022012-01-19 17:10:25 +0100331 { "Samsung", 0x04e8, "X830 Mobile Phone", 0x6702,
332 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000333 // From James <jamestech@gmail.com>
Linus Walleij7b3e3022012-01-19 17:10:25 +0100334 { "Samsung", 0x04e8, "U600 Mobile Phone", 0x6709,
335 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij5b03d302008-11-25 20:39:27 +0000336 // From Cesar Cardoso <cesar@cesarcardoso.tk>
337 // No confirmation that this is really MTP.
Linus Walleij7b3e3022012-01-19 17:10:25 +0100338 { "Samsung", 0x04e8, "F250 Mobile Phone", 0x6727,
339 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijc50e7682007-11-02 00:01:17 +0000340 // From Charlie Todd 2007-10-31
Linus Walleij7b3e3022012-01-19 17:10:25 +0100341 { "Samsung", 0x04e8, "Juke (SCH-U470)", 0x6734,
342 DEVICE_FLAG_UNLOAD_DRIVER},
Linus Walleij34b421f2009-07-23 22:30:51 +0000343 // Reported by Tenn
Linus Walleij7b3e3022012-01-19 17:10:25 +0100344 { "Samsung", 0x04e8, "GT-B2700", 0x6752,
345 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij5f0814f2009-07-23 21:53:38 +0000346 // Added by Greg Fitzgerald <netzdamon@gmail.com>
Linus Walleij7b3e3022012-01-19 17:10:25 +0100347 { "Samsung", 0x04e8, "SAMSUNG Trance", 0x6763,
348 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij48725402012-04-08 00:52:35 +0200349 DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij7b3e3022012-01-19 17:10:25 +0100350 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleij1753a6c2011-02-11 18:46:08 +0100351 // From anonymous sourceforge user
352 // Guessing on .spl flag, maybe needs NO_ZERO_READS, whatdoIknow
353 { "Samsung", 0x04e8, "GT-S8500", 0x6819,
Linus Walleij7b3e3022012-01-19 17:10:25 +0100354 DEVICE_FLAG_UNLOAD_DRIVER |
355 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleijf776f7b2012-06-06 10:14:05 +0200356 /*
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200357 * These entries seems to be used on a *lot* of Samsung
358 * Android phones. It is *not* the Android MTP stack but an internal
359 * Samsung stack. The devices present a few different product IDs
360 * depending on mode:
Linus Walleijf776f7b2012-06-06 10:14:05 +0200361 *
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200362 * 0x685b - UMS
363 * 0x685c - MTP + ADB
364 * 0x685e - UMS + CDC
365 * 0x6860 - MTP mode (default)
366 * 0x6863 - USB CDC RNDIS (not MTP)
367 * 0x6865 - PTP mode (not MTP)
368 * 0x6877 - Kies mode? Does it have MTP?
369 *
370 * Used on these samsung devices:
371 * GT P7310/P7510/N7000/I9100/I9250/I9300
372 * Galaxy Nexus
373 * Galaxy Tab 7.7/10.1
374 * Galaxy S GT-I9000
375 * Galaxy S Advance GT-I9070
376 * Galaxy S2
377 * Galaxy S3
378 * Galaxy Note
379 * Galaxy Y
Linus Walleij9aca3432012-06-14 23:45:52 +0200380 *
Linus Walleijf776f7b2012-06-06 10:14:05 +0200381 * - It seems that some PTP commands are broken.
382 * - Devices seem to have a connection timeout, the session must be
383 * open in about 3 seconds since the device is plugged in, after
384 * that time it will not respond. Thus GUI programs work fine.
385 * - Seems also to be used with Galaxy Nexus debug mode and on
386 * US markets for some weird reason.
387 *
388 * From: Ignacio Martínez <ignacio.martinezrivera@yahoo.es> and others
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200389 * From Harrison Metzger <harrisonmetz@gmail.com>
Linus Walleijf776f7b2012-06-06 10:14:05 +0200390 */
Linus Walleij14cee672012-01-06 12:54:47 +0100391 { "Samsung", 0x04e8,
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200392 "Galaxy models (MTP+ADB)", 0x685c,
Linus Walleij9f7867e2012-08-18 19:57:04 +0200393 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
394 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij3dd6eeb2011-05-27 00:38:13 +0200395 DEVICE_FLAG_UNLOAD_DRIVER |
Ignacio Martinez8f1850a2012-03-22 22:00:32 +0100396 DEVICE_FLAG_LONG_TIMEOUT |
Linus Walleij6d7ea632012-04-12 08:49:33 +0200397 DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200398 // Reported by David Goodenough <dfgdga@users.sourceforge.net>
399 // Guessing on flags.
400 { "Samsung", 0x04e8, "Galaxy Y", 0x685e,
401 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
402 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
403 DEVICE_FLAG_UNLOAD_DRIVER |
404 DEVICE_FLAG_LONG_TIMEOUT |
405 DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
406 { "Samsung", 0x04e8,
407 "Galaxy models (MTP)", 0x6860,
408 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
409 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
410 DEVICE_FLAG_UNLOAD_DRIVER |
411 DEVICE_FLAG_LONG_TIMEOUT |
412 DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
Linus Walleij4467c7f2010-08-20 22:09:00 +0000413 // From: Erik Berglund <erikjber@users.sourceforge.net>
414 // Logs indicate this needs DEVICE_FLAG_NO_ZERO_READS
Linus Walleije04a1b92011-03-09 18:00:24 +0100415 // No Samsung platlists on this device.
Linus Walleijbfb8e642010-08-29 07:38:15 +0000416 // https://sourceforge.net/tracker/?func=detail&atid=809061&aid=3026337&group_id=158745
Linus Walleij14cee672012-01-06 12:54:47 +0100417 // i5800 duplicate reported by igel <igel-kun@users.sourceforge.net>
Linus Walleij55b44b62012-04-02 18:43:21 +0200418 // Guessing this has the same problematic MTP stack as the device
419 // above.
Linus Walleijb86fb1a2012-09-11 23:03:07 +0200420 { "Samsung", 0x04e8, "Galaxy models Kies mode", 0x6877,
Linus Walleij3dd6eeb2011-05-27 00:38:13 +0200421 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij55b44b62012-04-02 18:43:21 +0200422 DEVICE_FLAG_LONG_TIMEOUT |
Linus Walleij6d7ea632012-04-12 08:49:33 +0200423 DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
Linus Walleij3dd6eeb2011-05-27 00:38:13 +0200424 // From: John Gorkos <ab0oo@users.sourceforge.net> and
425 // Akos Maroy <darkeye@users.sourceforge.net>
Linus Walleij7b3e3022012-01-19 17:10:25 +0100426 { "Samsung", 0x04e8, "Vibrant SGH-T959/Captivate/Media player mode", 0x68a9,
Linus Walleijb8a9be22011-05-27 00:24:35 +0200427 DEVICE_FLAG_UNLOAD_DRIVER |
428 DEVICE_FLAG_PLAYLIST_SPL_V1 },
429 // Reported by Sleep.Walker <froser@users.sourceforge.net>
430 { "Samsung", 0x04e8, "GT-B2710/Xcover 271", 0x68af,
431 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleijbfb8e642010-08-29 07:38:15 +0000432 DEVICE_FLAG_PLAYLIST_SPL_V1 },
Linus Walleijd866d242009-08-23 21:50:39 +0000433 // From anonymous Sourceforge user
434 { "Samsung", 0x04e8, "GT-S5230", 0xe20c, DEVICE_FLAG_NONE },
435
Linus Walleij1a673de2007-10-29 23:10:05 +0000436
437 /*
Linus Walleijf7df72d2012-04-03 01:41:40 +0200438 * Microsoft
439 * All except the first probably need MTPZ to work
Linus Walleij1a673de2007-10-29 23:10:05 +0000440 */
Linus Walleijf7df72d2012-04-03 01:41:40 +0200441 { "Microsoft/Intel", 0x045e, "Bandon Portable Media Center", 0x00c9,
442 DEVICE_FLAG_NONE },
Linus Walleij14cee672012-01-06 12:54:47 +0100443 // Reported by anonymous sourceforge user
Linus Walleij2ad98c82012-02-22 04:06:32 +0100444 // HTC Mozart is using the PID, as is Nokia Lumia 800
Linus Walleijb1dcb702012-01-12 23:34:04 +0100445 // May need MTPZ to work
Linus Walleij14cee672012-01-06 12:54:47 +0100446 { "Microsoft", 0x045e, "Windows Phone", 0x04ec, DEVICE_FLAG_NONE },
Linus Walleij414aca02008-06-02 23:16:49 +0000447 // Reported by Tadimarri Sarath <sarath.tadi@gmail.com>
448 // No idea why this use an Intel PID, perhaps a leftover from
449 // the early PMC development days when Intel and Microsoft were
450 // partnering.
451 { "Microsoft", 0x045e, "Windows MTP Simulator", 0x0622, DEVICE_FLAG_NONE },
Linus Walleij414a0832009-09-18 23:04:05 +0000452 // Reported by Edward Hutchins (used for Zune HDs)
453 { "Microsoft", 0x045e, "Zune HD", 0x063e, DEVICE_FLAG_NONE },
Linus Walleij1753a6c2011-02-11 18:46:08 +0100454 // Reported by anonymous sourceforge user
455 { "Microsoft", 0x045e, "Kin 1", 0x0640, DEVICE_FLAG_NONE },
Linus Walleijf7df72d2012-04-03 01:41:40 +0200456 // Reported by anonymous sourceforge user
457 { "Microsoft/Sharp/nVidia", 0x045e, "Kin TwoM", 0x0641, DEVICE_FLAG_NONE },
Linus Walleij414a0832009-09-18 23:04:05 +0000458 // Reported by Farooq Zaman (used for all Zunes)
Linus Walleij1753a6c2011-02-11 18:46:08 +0100459 { "Microsoft", 0x045e, "Zune", 0x0710, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +0000460
461 /*
462 * JVC
463 */
464 // From Mark Veinot
465 { "JVC", 0x04f1, "Alneo XA-HD500", 0x6105, DEVICE_FLAG_NONE },
466
467 /*
468 * Philips
469 */
470 { "Philips", 0x0471, "HDD6320/00 or HDD6330/17", 0x014b, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
471 // Anonymous SourceForge user
Linus Walleijf0702982008-10-25 21:37:43 +0000472 { "Philips", 0x0471, "HDD14XX,HDD1620 or HDD1630/17", 0x014c, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +0000473 // from discussion forum
474 { "Philips", 0x0471, "HDD085/00 or HDD082/17", 0x014d, DEVICE_FLAG_NONE },
475 // from XNJB forum
Richard Low641d1e32008-02-24 20:47:20 +0000476 { "Philips", 0x0471, "GoGear SA9200", 0x014f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij1a673de2007-10-29 23:10:05 +0000477 // From John Coppens <jcoppens@users.sourceforge.net>
478 { "Philips", 0x0471, "SA1115/55", 0x0164, DEVICE_FLAG_NONE },
479 // From Gerhard Mekenkamp
480 { "Philips", 0x0471, "GoGear Audio", 0x0165, DEVICE_FLAG_NONE },
481 // from David Holm <wormie@alberg.dk>
482 { "Philips", 0x0471, "Shoqbox", 0x0172, DEVICE_FLAG_ONLY_7BIT_FILENAMES },
483 // from npedrosa
484 { "Philips", 0x0471, "PSA610", 0x0181, DEVICE_FLAG_NONE },
485 // From libgphoto2 source
486 { "Philips", 0x0471, "HDD6320", 0x01eb, DEVICE_FLAG_NONE },
487 // From Detlef Meier <dm@emlix.com>
Linus Walleija8ba8c72008-03-29 00:02:27 +0000488 { "Philips", 0x0471, "GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045", 0x084e, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij23ab1542008-01-06 22:10:34 +0000489 // From anonymous Sourceforge user SA5145/02
Linus Walleija8ba8c72008-03-29 00:02:27 +0000490 { "Philips", 0x0471, "GoGear SA5145", 0x0857, DEVICE_FLAG_UNLOAD_DRIVER },
491 // From a
492 { "Philips", 0x0471, "GoGear SA6125/SA6145/SA6185", 0x2002, DEVICE_FLAG_UNLOAD_DRIVER },
493 // From anonymous Sourceforge user, not verified to be MTP!
494 { "Philips", 0x0471, "GoGear SA3345", 0x2004, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij2242b022009-01-02 01:44:00 +0000495 // From Roberto Vidmar <rvidmar@libero.it>
496 { "Philips", 0x0471, "SA5285", 0x2022, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij15ed3b32009-07-23 22:19:43 +0000497 // From Elie De Brauwer <elie@de-brauwer.be>
498 { "Philips", 0x0471, "GoGear ViBE SA1VBE04", 0x2075,
499 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij99d390e2010-01-19 01:17:39 +0000500 // From Anonymous SourceForge user
501 { "Philips", 0x0471, "GoGear Muse", 0x2077,
502 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij15ed3b32009-07-23 22:19:43 +0000503 // From Elie De Brauwer <elie@de-brauwer.be>
Linus Walleijcd8eb5c2010-05-15 00:22:47 +0000504 { "Philips", 0x0471, "GoGear ViBE SA1VBE04/08", 0x207b,
Linus Walleij15ed3b32009-07-23 22:19:43 +0000505 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijd866d242009-08-23 21:50:39 +0000506 // From josmtx <josmtx@users.sourceforge.net>
507 { "Philips", 0x0471, "GoGear Aria", 0x207c,
508 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij5e44ed52010-01-30 08:06:11 +0000509 // From epklein
510 { "Philips", 0x0471, "GoGear SA1VBE08KX/78", 0x208e,
511 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij5a446622010-10-17 21:56:05 +0000512 // From Anonymous SourceForge User
Linus Walleij01d5a732011-01-08 22:40:26 +0000513 { "Philips", 0x0471, "GoGear VIBE SA2VBE[08|16]K/02", 0x20b7,
Linus Walleij7c710892011-05-26 23:44:48 +0200514 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij7c1b9072011-06-26 20:08:11 +0200515 // From Anonymous SourceForge User
516 { "Philips", 0x0471, "GoGear Ariaz", 0x20b9,
517 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij126e1542011-10-22 00:16:20 +0200518 // From Anonymous SourceForge User
519 { "Philips", 0x0471, "GoGear Vibe/02", 0x20e5,
520 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij84262172013-01-01 22:34:12 +0100521 // Reported by Philip Rhoades
522 { "Philips", 0x0471, "GoGear Ariaz/97", 0x2138,
523 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000524 // from XNJB user
525 { "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE },
526
Linus Walleij1a673de2007-10-29 23:10:05 +0000527 /*
Linus Walleij7c710892011-05-26 23:44:48 +0200528 * Acer
Linus Walleij5483e672012-12-26 12:33:23 +0100529 * Reporters:
530 * Franck VDL <franckv@users.sourceforge.net>
531 * Matthias Arndt <simonsunnyboy@users.sourceforge.net>
532 * Arvin Schnell <arvins@users.sourceforge.net>
533 * Philippe Marzouk <philm@users.sourceforge.net>
534 * nE0sIghT <ne0sight@users.sourceforge.net>
535 * Maxime de Roucy <maxime1986@users.sourceforge.net>
Linus Walleij7c710892011-05-26 23:44:48 +0200536 */
Linus Walleij5483e672012-12-26 12:33:23 +0100537 { "Acer", 0x0502, "Iconia TAB A500 (ID1)", 0x3325,
538 DEVICE_FLAGS_ANDROID_BUGS },
539 { "Acer", 0x0502, "Iconia TAB A500 (ID2)", 0x3341,
540 DEVICE_FLAGS_ANDROID_BUGS },
541 { "Acer", 0x0502, "Iconia TAB A501 (ID1)", 0x3344,
542 DEVICE_FLAGS_ANDROID_BUGS },
543 { "Acer", 0x0502, "Iconia TAB A501 (ID2)", 0x3345,
544 DEVICE_FLAGS_ANDROID_BUGS },
545 { "Acer", 0x0502, "Iconia TAB A100 (ID1)", 0x3348,
546 DEVICE_FLAGS_ANDROID_BUGS },
547 { "Acer", 0x0502, "Iconia TAB A100 (ID2)", 0x3349,
548 DEVICE_FLAGS_ANDROID_BUGS },
549 { "Acer", 0x0502, "Iconia TAB A700", 0x3378,
550 DEVICE_FLAGS_ANDROID_BUGS },
551 { "Acer", 0x0502, "Iconia TAB A200 (ID1)", 0x337c,
552 DEVICE_FLAGS_ANDROID_BUGS },
553 { "Acer", 0x0502, "Iconia TAB A200 (ID2)", 0x337d,
554 DEVICE_FLAGS_ANDROID_BUGS },
555 { "Acer", 0x0502, "Iconia TAB A510 (ID1)", 0x3389,
556 DEVICE_FLAGS_ANDROID_BUGS },
557 { "Acer", 0x0502, "Iconia TAB A510 (ID2)", 0x338a,
558 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij284bb322012-09-02 17:27:24 +0200559 { "Acer", 0x0502, "E350 Liquid Gallant Duo", 0x33c3,
560 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij57e4a4a2013-01-01 22:57:16 +0100561 { "Acer", 0x0502, "Iconia TAB A210", 0x33cb,
562 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij0626a1c2013-01-01 23:17:55 +0100563 { "Acer", 0x0502, "Iconia TAB A110", 0x33d8,
564 DEVICE_FLAGS_ANDROID_BUGS },
565
Linus Walleij57e4a4a2013-01-01 22:57:16 +0100566
Linus Walleij7c710892011-05-26 23:44:48 +0200567
568 /*
Linus Walleij1a673de2007-10-29 23:10:05 +0000569 * SanDisk
Linus Walleij8f86b0e2011-05-27 00:05:55 +0200570 * several devices (c150 for sure) are definately dual-mode and must
Linus Walleij1a673de2007-10-29 23:10:05 +0000571 * have the USB mass storage driver that hooks them unloaded first.
572 * They all have problematic dual-mode making the device unload effect
Linus Walleij5e202562008-06-03 11:35:05 +0000573 * uncertain on these devices.
574 *
575 * All older devices seem to need DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL.
576 * Old chipsets: e200/c200 use PP5024 from Nvidia (formerly PortalPlayer).
577 * m200 use TCC770 from Telechips.
578 *
Linus Walleij8f86b0e2011-05-27 00:05:55 +0200579 * The newer Sansa v2 chipset, AD3525 from Austriamicrosystems (AMS) found
580 * in e280 v2 c200 v2, Clip, Fuze etc require
581 * DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST
Linus Walleij5e202562008-06-03 11:35:05 +0000582 * and DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR to work properly.
583 *
584 * For more info see: http://daniel.haxx.se/sansa/v2.html
Linus Walleij1a673de2007-10-29 23:10:05 +0000585 */
586 // Reported by Brian Robison
Linus Walleijde1620f2009-06-15 20:02:02 +0000587 { "SanDisk", 0x0781, "Sansa m230/m240", 0x7400,
Linus Walleij1a673de2007-10-29 23:10:05 +0000588 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000589 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij18ed0162009-05-06 16:51:08 +0000590 // From Rockbox device listing
Linus Walleijde1620f2009-06-15 20:02:02 +0000591 { "SanDisk", 0x0781, "Sansa m200-tcc (MTP mode)", 0x7401,
Linus Walleij18ed0162009-05-06 16:51:08 +0000592 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
593 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij1a673de2007-10-29 23:10:05 +0000594 // Reported by tangent_@users.sourceforge.net
Linus Walleijde1620f2009-06-15 20:02:02 +0000595 { "SanDisk", 0x0781, "Sansa c150", 0x7410,
Linus Walleij1a673de2007-10-29 23:10:05 +0000596 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000597 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij1a673de2007-10-29 23:10:05 +0000598 // From libgphoto2 source
599 // Reported by <gonkflea@users.sourceforge.net>
600 // Reported by Mike Owen <mikeowen@computerbaseusa.com>
Linus Walleij18ed0162009-05-06 16:51:08 +0000601 { "SanDisk", 0x0781, "Sansa e200/e250/e260/e270/e280", 0x7420,
Linus Walleij1a673de2007-10-29 23:10:05 +0000602 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000603 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Richard Low58f5afe2009-04-30 13:24:06 +0000604 // Don't add 0x7421 as this is e280 in MSC mode
Linus Walleij1a673de2007-10-29 23:10:05 +0000605 // Reported by XNJB user
Linus Walleij18ed0162009-05-06 16:51:08 +0000606 { "SanDisk", 0x0781, "Sansa e260/e280 v2", 0x7422,
Linus Walleij5e202562008-06-03 11:35:05 +0000607 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij37588142008-10-16 19:10:47 +0000608 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000609 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Richard Lowd56e8a62007-12-08 16:59:11 +0000610 // Reported by XNJB user
Linus Walleijde1620f2009-06-15 20:02:02 +0000611 { "SanDisk", 0x0781, "Sansa m240/m250", 0x7430,
Linus Walleij1a673de2007-10-29 23:10:05 +0000612 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000613 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij077a8902007-11-15 21:18:12 +0000614 // Reported by Eugene Brevdo <ebrevdo@princeton.edu>
Linus Walleij5e202562008-06-03 11:35:05 +0000615 { "SanDisk", 0x0781, "Sansa Clip", 0x7432,
616 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij37588142008-10-16 19:10:47 +0000617 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000618 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
Linus Walleij39f9a452008-11-15 09:39:39 +0000619 // Reported by HackAR <hackar@users.sourceforge.net>
Linus Walleij624a15a2009-01-06 00:31:34 +0000620 { "SanDisk", 0x0781, "Sansa Clip v2", 0x7434,
Linus Walleij39f9a452008-11-15 09:39:39 +0000621 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
622 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
623 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
Linus Walleij1a673de2007-10-29 23:10:05 +0000624 // Reported by anonymous user at sourceforge.net
Linus Walleijde1620f2009-06-15 20:02:02 +0000625 { "SanDisk", 0x0781, "Sansa c240/c250", 0x7450,
Linus Walleij1a673de2007-10-29 23:10:05 +0000626 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000627 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij2242b022009-01-02 01:44:00 +0000628 // Reported by anonymous SourceForge user
Linus Walleijde1620f2009-06-15 20:02:02 +0000629 { "SanDisk", 0x0781, "Sansa c250 v2", 0x7452,
Linus Walleij2242b022009-01-02 01:44:00 +0000630 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
631 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij1a673de2007-10-29 23:10:05 +0000632 // Reported by Troy Curtis Jr.
Linus Walleijde1620f2009-06-15 20:02:02 +0000633 { "SanDisk", 0x0781, "Sansa Express", 0x7460,
634 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000635 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij1a673de2007-10-29 23:10:05 +0000636 // Reported by XNJB user, and Miguel de Icaza <miguel@gnome.org>
637 // This has no dual-mode so no need to unload any driver.
638 // This is a Linux based device!
639 { "SanDisk", 0x0781, "Sansa Connect", 0x7480, DEVICE_FLAG_NONE },
640 // Reported by anonymous SourceForge user
Linus Walleijde1620f2009-06-15 20:02:02 +0000641 { "SanDisk", 0x0781, "Sansa View", 0x74b0,
Linus Walleij1a673de2007-10-29 23:10:05 +0000642 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000643 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleij690a3162008-03-31 21:40:23 +0000644 // Reported by Patrick <skibler@gmail.com>
645 // There are apparently problems with this device.
Linus Walleij25a16302009-03-04 13:56:33 +0000646 { "SanDisk", 0x0781, "Sansa Fuze", 0x74c0,
647 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
648 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleij19c05422011-01-08 23:00:16 +0000649 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
Linus Walleij25a16302009-03-04 13:56:33 +0000650 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
651 // Harry Phillips <tuxcomputers@users.sourceforge.net>
652 { "SanDisk", 0x0781, "Sansa Fuze v2", 0x74c2,
Linus Walleij5e202562008-06-03 11:35:05 +0000653 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij37588142008-10-16 19:10:47 +0000654 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleij19c05422011-01-08 23:00:16 +0000655 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
Linus Walleijcf8dc2b2008-10-21 13:58:36 +0000656 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
Linus Walleija5cb5c92009-10-10 22:03:38 +0000657 // Reported by anonymous SourceForge user
Linus Walleij19c05422011-01-08 23:00:16 +0000658 // Need BROKEN_SET_SAMPLE_DIMENSIONS accordning to
659 // Michael <mpapet@users.sourceforge.net>
Linus Walleija5cb5c92009-10-10 22:03:38 +0000660 { "SanDisk", 0x0781, "Sansa Clip+", 0x74d0,
661 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
662 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleij19c05422011-01-08 23:00:16 +0000663 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
Linus Walleija5cb5c92009-10-10 22:03:38 +0000664 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
Linus Walleij3d707582010-11-24 15:13:45 +0000665 // Reported by anonymous SourceForge user
666 { "SanDisk", 0x0781, "Sansa Fuze+", 0x74e0,
667 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
668 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
Linus Walleij19c05422011-01-08 23:00:16 +0000669 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
Linus Walleij3d707582010-11-24 15:13:45 +0000670 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
Linus Walleij7cf3d3f2011-10-22 00:36:09 +0200671 // Reported by mattyj2001@users.sourceforge.net
672 { "SanDisk", 0x0781, "Sansa Clip Zip", 0x74e4,
673 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
674 DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
675 DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
676 DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
Linus Walleij1a673de2007-10-29 23:10:05 +0000677
678 /*
679 * iRiver
680 * we assume that PTP_OC_MTP_GetObjPropList is essentially
681 * broken on all iRiver devices, meaning it simply won't return
Linus Walleij688e5542010-02-01 11:35:15 +0000682 * all properties for a file when asking for metadata 0xffffffff.
Linus Walleij1a673de2007-10-29 23:10:05 +0000683 * Please test on your device if you believe it isn't broken!
Linus Walleij1a673de2007-10-29 23:10:05 +0000684 */
Linus Walleij18ed0162009-05-06 16:51:08 +0000685 { "iRiver", 0x1006, "H300 Series MTP", 0x3004,
Linus Walleij688e5542010-02-01 11:35:15 +0000686 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000687 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij18ed0162009-05-06 16:51:08 +0000688 { "iRiver", 0x1006, "Portable Media Center", 0x4002,
Linus Walleij688e5542010-02-01 11:35:15 +0000689 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij18ed0162009-05-06 16:51:08 +0000690 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
691 { "iRiver", 0x1006, "Portable Media Center", 0x4003,
Linus Walleij688e5542010-02-01 11:35:15 +0000692 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000693 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij2242b022009-01-02 01:44:00 +0000694 // From [st]anislav <iamstanislav@gmail.com>
Linus Walleijdeb1aca2009-01-02 23:20:06 +0000695 { "iRiver", 0x1042, "T7 Volcano", 0x1143, DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij80a2a692008-12-05 20:36:40 +0000696 // From an anonymous person at SourceForge, uncertain about this one
Linus Walleij688e5542010-02-01 11:35:15 +0000697 { "iRiver", 0x4102, "iFP-880", 0x1008,
698 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000699 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij80a2a692008-12-05 20:36:40 +0000700 // 0x4102, 0x1042 is a USB mass storage mode for E100 v2/Lplayer
Linus Walleij1a673de2007-10-29 23:10:05 +0000701 // From libgphoto2 source
Linus Walleij688e5542010-02-01 11:35:15 +0000702 { "iRiver", 0x4102, "T10", 0x1113,
703 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000704 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij688e5542010-02-01 11:35:15 +0000705 { "iRiver", 0x4102, "T20 FM", 0x1114,
706 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000707 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
708 // This appears at the MTP-UMS site
Linus Walleij688e5542010-02-01 11:35:15 +0000709 { "iRiver", 0x4102, "T20", 0x1115,
710 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000711 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij688e5542010-02-01 11:35:15 +0000712 { "iRiver", 0x4102, "U10", 0x1116,
713 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000714 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij688e5542010-02-01 11:35:15 +0000715 { "iRiver", 0x4102, "T10a", 0x1117,
716 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000717 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij688e5542010-02-01 11:35:15 +0000718 { "iRiver", 0x4102, "T20", 0x1118,
719 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000720 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleij688e5542010-02-01 11:35:15 +0000721 { "iRiver", 0x4102, "T30", 0x1119,
722 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000723 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
724 // Reported by David Wolpoff
Linus Walleij688e5542010-02-01 11:35:15 +0000725 { "iRiver", 0x4102, "T10 2GB", 0x1120,
726 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000727 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
728 // Rough guess this is the MTP device ID...
Linus Walleij688e5542010-02-01 11:35:15 +0000729 { "iRiver", 0x4102, "N12", 0x1122,
730 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000731 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
732 // Reported by Philip Antoniades <philip@mysql.com>
733 // Newer iriver devices seem to have shaped-up firmware without any
734 // of the annoying bugs.
735 { "iRiver", 0x4102, "Clix2", 0x1126, DEVICE_FLAG_NONE },
736 // Reported by Adam Torgerson
Linus Walleij688e5542010-02-01 11:35:15 +0000737 { "iRiver", 0x4102, "Clix", 0x112a,
Linus Walleij1a673de2007-10-29 23:10:05 +0000738 DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
739 // Reported by Douglas Roth <dougaus@gmail.com>
Linus Walleij688e5542010-02-01 11:35:15 +0000740 { "iRiver", 0x4102, "X20", 0x1132,
741 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000742 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
743 // Reported by Robert Ugo <robert_ugo@users.sourceforge.net>
Linus Walleij688e5542010-02-01 11:35:15 +0000744 { "iRiver", 0x4102, "T60", 0x1134,
745 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij1a673de2007-10-29 23:10:05 +0000746 DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
Linus Walleijf8c251e2008-06-08 21:32:01 +0000747 // Reported by two anonymous SourceForge users
Linus Walleij07bb5382008-07-31 20:21:09 +0000748 // Needs the stronger OGG_IS_UNKNOWN flag to support OGG properly,
749 // be aware of newer players that may be needing this too.
Linus Walleij688e5542010-02-01 11:35:15 +0000750 { "iRiver", 0x4102, "E100", 0x1141,
751 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij07bb5382008-07-31 20:21:09 +0000752 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleijc2bc9732008-08-14 21:12:44 +0000753 // Reported by anonymous SourceForge user
754 // Need verification of whether this firmware really need all these flags
Linus Walleij688e5542010-02-01 11:35:15 +0000755 { "iRiver", 0x4102, "E100 v2/Lplayer", 0x1142,
756 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleijc2bc9732008-08-14 21:12:44 +0000757 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij6e680ad2009-01-07 21:22:45 +0000758 // Reported by Richard Vennemann <vennemann@users.sourceforge.net>
Linus Walleij16ee3422009-01-08 23:15:52 +0000759 // In USB Mass Storage mode it is 0x4102/0x1047
Linus Walleijb57167c2009-01-10 22:37:51 +0000760 // Seems to use the new shaped-up firmware.
761 { "iRiver", 0x4102, "Spinn", 0x1147, DEVICE_FLAG_NONE },
Linus Walleije84dcf12009-05-14 20:33:05 +0000762 // Reported by Tony Janssen <tonyjanssen@users.sourceforge.net>
763 { "iRiver", 0x4102, "E50", 0x1151,
Linus Walleij688e5542010-02-01 11:35:15 +0000764 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
765 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleijee23a4a2012-11-14 00:39:19 +0100766 // Reported by anonymous SourceForge user, guessing on flags
767 { "iRiver", 0x4102, "E150", 0x1152,
768 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
769 DEVICE_FLAG_OGG_IS_UNKNOWN },
770 // Reported by Jakub Matraszek <jakub.matraszek@gmail.com>
Linus Walleij92741922010-10-14 22:05:56 +0000771 { "iRiver", 0x4102, "T5", 0x1153,
772 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
773 DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij688e5542010-02-01 11:35:15 +0000774 // Reported by pyalex@users.sourceforge.net
775 // Guessing that this needs the FLAG_NO_ZERO_READS...
776 { "iRiver", 0x4102, "E30", 0x1167,
777 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleije84dcf12009-05-14 20:33:05 +0000778 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +0000779 // Reported by Scott Call
Linus Walleij07bb5382008-07-31 20:21:09 +0000780 // Assume this actually supports OGG though it reports it doesn't.
Linus Walleij688e5542010-02-01 11:35:15 +0000781 { "iRiver", 0x4102, "H10 20GB", 0x2101,
782 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij07bb5382008-07-31 20:21:09 +0000783 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij688e5542010-02-01 11:35:15 +0000784 { "iRiver", 0x4102, "H10 5GB", 0x2102,
785 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij18ed0162009-05-06 16:51:08 +0000786 DEVICE_FLAG_OGG_IS_UNKNOWN },
787 // From Rockbox device listing
Linus Walleij688e5542010-02-01 11:35:15 +0000788 { "iRiver", 0x4102, "H10 5.6GB", 0x2105,
789 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
Linus Walleij07bb5382008-07-31 20:21:09 +0000790 DEVICE_FLAG_OGG_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +0000791
792
793 /*
794 * Dell
795 */
796 { "Dell, Inc", 0x413c, "DJ Itty", 0x4500, DEVICE_FLAG_NONE },
Linus Walleij15c12e02011-10-22 00:06:18 +0200797 /* Reported by: JR */
798 { "Dell, Inc", 0x413c, "Dell Streak 7", 0xb10b, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij8f86b0e2011-05-27 00:05:55 +0200799
Linus Walleij1a673de2007-10-29 23:10:05 +0000800 /*
801 * Toshiba
Linus Walleij7e3b3072009-01-19 22:51:17 +0000802 * Tentatively flagged all Toshiba devices with
803 * DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST after one of them
804 * showed erroneous behaviour.
Linus Walleij1a673de2007-10-29 23:10:05 +0000805 */
Linus Walleij7e3b3072009-01-19 22:51:17 +0000806 { "Toshiba", 0x0930, "Gigabeat MEGF-40", 0x0009,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100807 DEVICE_FLAG_NO_RELEASE_INTERFACE |
808 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij7e3b3072009-01-19 22:51:17 +0000809 { "Toshiba", 0x0930, "Gigabeat", 0x000c,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100810 DEVICE_FLAG_NO_RELEASE_INTERFACE |
811 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +0000812 // Reported by Nicholas Tripp
Linus Walleij7e3b3072009-01-19 22:51:17 +0000813 { "Toshiba", 0x0930, "Gigabeat P20", 0x000f,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100814 DEVICE_FLAG_NO_RELEASE_INTERFACE |
815 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +0000816 // From libgphoto2
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100817 { "Toshiba", 0x0930, "Gigabeat S", 0x0010,
818 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
819 DEVICE_FLAG_NO_RELEASE_INTERFACE |
820 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +0000821 // Reported by Rob Brown
Linus Walleij7e3b3072009-01-19 22:51:17 +0000822 { "Toshiba", 0x0930, "Gigabeat P10", 0x0011,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100823 DEVICE_FLAG_NO_RELEASE_INTERFACE |
824 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij51dde6b2007-11-03 23:14:59 +0000825 // Reported by solanum@users.sourceforge.net
Linus Walleij7e3b3072009-01-19 22:51:17 +0000826 { "Toshiba", 0x0930, "Gigabeat V30", 0x0014,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100827 DEVICE_FLAG_NO_RELEASE_INTERFACE |
828 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +0000829 // Reported by Michael Davis <slithy@yahoo.com>
Linus Walleij7e3b3072009-01-19 22:51:17 +0000830 { "Toshiba", 0x0930, "Gigabeat U", 0x0016,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100831 DEVICE_FLAG_NO_RELEASE_INTERFACE |
832 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij804cc622008-02-03 21:26:26 +0000833 // Reported by Devon Jacobs <devo@godevo.com>
Linus Walleijf67c1ad2009-01-14 21:39:50 +0000834 { "Toshiba", 0x0930, "Gigabeat MEU202", 0x0018,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100835 DEVICE_FLAG_NO_RELEASE_INTERFACE |
836 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleijc76e2f72007-12-09 22:14:35 +0000837 // Reported by Rolf <japan (at) dl3lar.de>
Linus Walleij7e3b3072009-01-19 22:51:17 +0000838 { "Toshiba", 0x0930, "Gigabeat T", 0x0019,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100839 DEVICE_FLAG_NO_RELEASE_INTERFACE |
840 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij07bb5382008-07-31 20:21:09 +0000841 // Reported by Phil Ingram <ukpbert@users.sourceforge.net>
842 // Tentatively added - no real reports of this device ID being MTP,
843 // reports as USB Mass Storage currently.
Linus Walleij7e3b3072009-01-19 22:51:17 +0000844 { "Toshiba", 0x0930, "Gigabeat MEU201", 0x001a,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100845 DEVICE_FLAG_NO_RELEASE_INTERFACE |
846 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleij922880f2008-10-29 17:31:42 +0000847 // Reported by anonymous SourceForge user
Linus Walleij7e3b3072009-01-19 22:51:17 +0000848 { "Toshiba", 0x0930, "Gigabeat MET401", 0x001d,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100849 DEVICE_FLAG_NO_RELEASE_INTERFACE |
850 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
Linus Walleijc1345022012-07-12 01:41:29 +0200851 // Reported by Andree Jacobson <nmcandree@users.sourceforge.net>
852 { "Toshiba", 0x0930, "Excite AT300", 0x0963,
853 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100854 // Reported by Nigel Cunningham <nigel@tuxonice.net>
855 // Guessing on Android bugs
Linus Walleijf7df72d2012-04-03 01:41:40 +0200856 { "Toshiba", 0x0930, "Thrive AT100/AT105", 0x7100,
Linus Walleij6e50b1b2012-01-11 07:50:52 +0100857 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij804cc622008-02-03 21:26:26 +0000858
Linus Walleij1a673de2007-10-29 23:10:05 +0000859 /*
860 * Archos
861 * These devices have some dual-mode interfaces which will really
862 * respect the driver unloading, so DEVICE_FLAG_UNLOAD_DRIVER
863 * really work on these devices!
864 */
865 // Reported by Alexander Haertig <AlexanderHaertig@gmx.de>
866 { "Archos", 0x0e79, "Gmini XS100", 0x1207, DEVICE_FLAG_UNLOAD_DRIVER },
867 // Added by Jan Binder
868 { "Archos", 0x0e79, "XS202 (MTP mode)", 0x1208, DEVICE_FLAG_NONE },
869 // Reported by gudul1@users.sourceforge.net
870 { "Archos", 0x0e79, "104 (MTP mode)", 0x120a, DEVICE_FLAG_NONE },
Richard Lowe525e542009-11-09 21:09:52 +0000871 // Reported by Archos
872 { "Archos", 0x0e79, "204 (MTP mode)", 0x120c, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij4c3cd682008-01-27 22:18:05 +0000873 // Reported by anonymous Sourceforge user.
874 { "Archos", 0x0e79, "404 (MTP mode)", 0x1301, DEVICE_FLAG_UNLOAD_DRIVER },
Richard Lowe525e542009-11-09 21:09:52 +0000875 // Reported by Archos
876 { "Archos", 0x0e79, "404CAM (MTP mode)", 0x1303, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000877 // Reported by Etienne Chauchot <chauchot.etienne@free.fr>
878 { "Archos", 0x0e79, "504 (MTP mode)", 0x1307, DEVICE_FLAG_UNLOAD_DRIVER },
Richard Lowe525e542009-11-09 21:09:52 +0000879 // Reported by Archos
880 { "Archos", 0x0e79, "604 (MTP mode)", 0x1309, DEVICE_FLAG_UNLOAD_DRIVER },
881 { "Archos", 0x0e79, "604WIFI (MTP mode)", 0x130b, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +0000882 // Reported by Kay McCormick <kaym@modsystems.com>
883 { "Archos", 0x0e79, "704 mobile dvr", 0x130d, DEVICE_FLAG_UNLOAD_DRIVER },
Richard Lowe525e542009-11-09 21:09:52 +0000884 // Reported by Archos
885 { "Archos", 0x0e79, "704TV (MTP mode)", 0x130f, DEVICE_FLAG_UNLOAD_DRIVER },
886 { "Archos", 0x0e79, "405 (MTP mode)", 0x1311, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij121b7f22007-12-08 21:37:35 +0000887 // Reported by Joe Rabinoff
Linus Walleije71639a2007-12-08 21:36:00 +0000888 { "Archos", 0x0e79, "605 (MTP mode)", 0x1313, DEVICE_FLAG_UNLOAD_DRIVER },
Richard Lowe525e542009-11-09 21:09:52 +0000889 // Reported by Archos
890 { "Archos", 0x0e79, "605F (MTP mode)", 0x1315, DEVICE_FLAG_UNLOAD_DRIVER },
891 { "Archos", 0x0e79, "705 (MTP mode)", 0x1319, DEVICE_FLAG_UNLOAD_DRIVER },
892 { "Archos", 0x0e79, "TV+ (MTP mode)", 0x131b, DEVICE_FLAG_UNLOAD_DRIVER },
893 { "Archos", 0x0e79, "105 (MTP mode)", 0x131d, DEVICE_FLAG_UNLOAD_DRIVER },
894 { "Archos", 0x0e79, "405HDD (MTP mode)", 0x1321, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij4aa66dc2009-05-02 06:36:59 +0000895 // Reported by Jim Krehl <jimmuhk@users.sourceforge.net>
896 { "Archos", 0x0e79, "5 (MTP mode)", 0x1331, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij8c725002008-11-25 20:33:13 +0000897 // Reported by Adrien Guichard <tmor@users.sourceforge.net>
898 { "Archos", 0x0e79, "5 (MTP mode)", 0x1333, DEVICE_FLAG_UNLOAD_DRIVER },
Richard Lowe525e542009-11-09 21:09:52 +0000899 // Reported by Archos
900 { "Archos", 0x0e79, "7 (MTP mode)", 0x1335, DEVICE_FLAG_UNLOAD_DRIVER },
901 { "Archos", 0x0e79, "SPOD (MTP mode)", 0x1341, DEVICE_FLAG_UNLOAD_DRIVER },
902 { "Archos", 0x0e79, "5S IT (MTP mode)", 0x1351, DEVICE_FLAG_UNLOAD_DRIVER },
903 { "Archos", 0x0e79, "5H IT (MTP mode)", 0x1357, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijee23a4a2012-11-14 00:39:19 +0100904 { "Archos", 0x0e79, "Arnova Childpad", 0x1458, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij62117212013-01-01 23:59:35 +0100905 { "Archos", 0x0e79, "Arnova 8c G3", 0x145e, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +0100906 { "Archos", 0x0e79, "Arnova 10bG3 Tablet", 0x146b, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16a47dc2013-01-01 22:44:59 +0100907 { "Archos", 0x0e79, "97 Xenon", 0x149a, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijaa43ff72012-01-06 17:58:25 +0100908 { "Archos", 0x0e79, "8o G9 (MTP mode)", 0x1508, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij0de5b192012-01-30 17:17:24 +0100909 // Reported by Clément <clemvangelis@users.sourceforge.net>
Linus Walleij147e6472012-04-03 01:35:20 +0200910 { "Archos", 0x0e79, "8o G9 Turbo (MTP mode)", 0x1509,
911 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij19432fa2012-03-30 22:29:02 +0200912 // Reported by Thackert <hackertenator@users.sourceforge.net>
913 { "Archos", 0x0e79, "80G9", 0x1518, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijcb9a1d12011-10-31 11:27:35 +0100914 // Reported by Till <Till@users.sourceforge.net>
Linus Walleijbdde28b2011-12-29 18:55:55 +0100915 { "Archos", 0x0e79, "101 G9", 0x1528, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijab24d172012-06-28 00:31:11 +0200916 { "Archos", 0x0e79, "101 G9 (v2)", 0x1529, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij147e6472012-04-03 01:35:20 +0200917 { "Archos", 0x0e79, "101 G9 Turbo 250 HD", 0x1538,
918 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijed722ca2012-03-30 22:50:25 +0200919 { "Archos", 0x0e79, "101 G9 Turbo", 0x1539, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijc9deb732012-07-28 21:12:47 +0200920 { "Archos", 0x0e79, "70it2 (mode 1)", 0x1568, DEVICE_FLAGS_ANDROID_BUGS },
921 // Reported by Sebastien ROHAUT
922 { "Archos", 0x0e79, "70it2 (mode 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij1a673de2007-10-29 23:10:05 +0000923
924 /*
925 * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad
926 * This unit is falsely detected as USB mass storage in Linux
927 * prior to kernel 2.6.19 (fixed by patch from Alan Stern)
928 * so on older kernels special care is needed to remove the
929 * USB mass storage driver that erroneously binds to the device
930 * interface.
Linus Walleij2c5470f2011-08-08 11:34:41 +0200931 *
932 * More problematic, this manufacturer+device ID seems to be
933 * reused in a USB Mass Storage device named "Zipy Fox 8GB",
934 * which means libmtp may mistreat it.
Linus Walleij1a673de2007-10-29 23:10:05 +0000935 */
936 { "Dunlop", 0x10d6, "MP3 player 1GB / EGOMAN MD223AFD", 0x2200, DEVICE_FLAG_UNLOAD_DRIVER},
Linus Walleij07bb5382008-07-31 20:21:09 +0000937 // Reported by Steven Black <stevenblack1956@users.sourceforge.net>
938 // Obviously this company goes by many names.
Linus Walleij102a72d2008-11-27 23:16:47 +0000939 // This device is USB 2.0 only. Broken pipe on closing.
Linus Walleijb7e8f972010-01-19 00:38:11 +0000940 // A later report indicates that this is also used by the iRiver E200
Linus Walleije3388702010-02-03 10:02:13 +0000941 { "Memorex or iRiver", 0x10d6, "MMP 8585/8586 or iRiver E200", 0x2300,
942 DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleij102a72d2008-11-27 23:16:47 +0000943 DEVICE_FLAG_NO_RELEASE_INTERFACE},
Linus Walleijb7e8f972010-01-19 00:38:11 +0000944
Linus Walleij1a673de2007-10-29 23:10:05 +0000945 /*
946 * Sirius
947 */
948 { "Sirius", 0x18f6, "Stiletto", 0x0102, DEVICE_FLAG_NONE },
Linus Walleij30a7dd92008-04-09 20:33:51 +0000949 // Reported by Chris Bagwell <chris@cnpbagwell.com>
Linus Walleij2f622812008-08-30 22:06:58 +0000950 { "Sirius", 0x18f6, "Stiletto 2", 0x0110, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +0000951
952 /*
953 * Canon
Linus Walleija1a2eb72009-10-14 21:51:12 +0000954 * These are actually cameras, but they have a Microsoft device descriptor
955 * and reports themselves as supporting the MTP extension.
Linus Walleij1a673de2007-10-29 23:10:05 +0000956 */
Linus Walleija1a2eb72009-10-14 21:51:12 +0000957 { "Canon", 0x04a9, "Ixus Digital 700 (PTP/MTP mode)", 0x30f2,
958 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij00e6a5e2008-10-17 07:13:30 +0000959 { "Canon", 0x04a9, "PowerShot A640 (PTP/MTP mode)", 0x3139,
960 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij99d390e2010-01-19 01:17:39 +0000961 // From Peter <pjeremy@users.sourceforge.net>
962 { "Canon", 0x04a9, "PowerShot SX20IS (PTP/MTP mode)", 0x31e4,
963 DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +0000964
965 /*
966 * Nokia
Linus Walleij21704fd2008-02-29 22:50:29 +0000967 * Please verify the low device IDs here, I suspect these might be for
968 * things like USB storage or modem mode actually, whereas the higher
Linus Walleij9462f552008-10-25 19:16:53 +0000969 * range (0x04nn) could be for MTP. Some of the devices were gathered
970 * from the Nokia WMP drivers:
971 * http://nds2.nokia.com/files/support/global/phones/software/
972 * Address was gathered from going to:
973 * nseries.com
974 * -> support
975 * -> select supported device
976 * -> PC software
977 * -> Music software
978 * -> Windows Media Player 10 driver
Linus Walleij1a673de2007-10-29 23:10:05 +0000979 */
980 // From: DoomHammer <gaczek@users.sourceforge.net>
Linus Walleijb5a4f922008-05-11 20:15:00 +0000981 { "Nokia", 0x0421, "N81 Mobile Phone", 0x000a, DEVICE_FLAG_NONE },
Linus Walleijf8c251e2008-06-08 21:32:01 +0000982 // From an anonymous SourceForge user
983 { "Nokia", 0x0421, "6120c Classic Mobile Phone", 0x002e, DEVICE_FLAG_NONE },
Linus Walleijbddfd192008-11-25 20:26:52 +0000984 // From Stefano
985 { "Nokia", 0x0421, "N96 Mobile Phone", 0x0039, DEVICE_FLAG_NONE },
Linus Walleijace7f4c2008-11-01 21:07:34 +0000986 // From Martijn van de Streek <martijn@vandestreek.net>
Linus Walleij4c8b6e12008-10-31 22:04:14 +0000987 { "Nokia", 0x0421, "6500c Classic Mobile Phone", 0x003c, DEVICE_FLAG_NONE },
Linus Walleijb5a4f922008-05-11 20:15:00 +0000988 // From: DoomHammer <gaczek@users.sourceforge.net>
Linus Walleij1a673de2007-10-29 23:10:05 +0000989 { "Nokia", 0x0421, "3110c Mobile Phone", 0x005f, DEVICE_FLAG_NONE },
Linus Walleija8ba8c72008-03-29 00:02:27 +0000990 // From: Vasily <spc-@users.sourceforge.net>
991 { "Nokia", 0x0421, "3109c Mobile Phone", 0x0065, DEVICE_FLAG_NONE },
Linus Walleij07bb5382008-07-31 20:21:09 +0000992 // From: <rawc@users.sourceforge.net>
993 { "Nokia", 0x0421, "5310 XpressMusic", 0x006c, DEVICE_FLAG_NONE },
Linus Walleij21704fd2008-02-29 22:50:29 +0000994 // From: robin (AT) headbank D0Tco DOTuk
995 { "Nokia", 0x0421, "N95 Mobile Phone 8GB", 0x006e, DEVICE_FLAG_NONE },
Linus Walleijcfd143d2008-10-24 20:52:48 +0000996 // From Bastien Nocera <hadess@hadess.net>
Linus Walleije3388702010-02-03 10:02:13 +0000997 { "Nokia", 0x0421, "N82 Mobile Phone", 0x0074,
998 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijace7f4c2008-11-01 21:07:34 +0000999 // From Martijn van de Streek <martijn@vandestreek.net>
Linus Walleij4c8b6e12008-10-31 22:04:14 +00001000 { "Nokia", 0x0421, "N78 Mobile Phone", 0x0079, DEVICE_FLAG_NONE },
Linus Walleij22e4bfc2009-02-09 23:24:58 +00001001 // From William Pettersson <the_enigma@users.sourceforge.net>
1002 { "Nokia", 0x0421, "6220 Classic", 0x008d, DEVICE_FLAG_NONE },
Linus Walleijbbf5e7f2009-03-05 21:04:42 +00001003 // From kellerkev@gmail.com
1004 { "Nokia", 0x0421, "N85 Mobile Phone", 0x0092, DEVICE_FLAG_NONE },
Linus Walleij7ef50152010-05-22 22:57:36 +00001005 // From Alexandre LISSY <lissyx@users.sourceforge.net>
1006 { "Nokia", 0x0421, "6210 Navigator", 0x0098, DEVICE_FLAG_NONE },
Linus Walleij07bb5382008-07-31 20:21:09 +00001007 // From: danielw
1008 { "Nokia", 0x0421, "E71", 0x00e4, DEVICE_FLAG_NONE },
Linus Walleijf3296622008-09-04 20:53:56 +00001009 // From: Laurent Bigonville <bigon@users.sourceforge.net>
1010 { "Nokia", 0x0421, "E66", 0x00e5, DEVICE_FLAG_NONE },
Linus Walleij1d139362009-05-02 06:22:44 +00001011 // From: Pier <pierlucalino@users.sourceforge.net>
1012 { "Nokia", 0x0421, "5320 XpressMusic", 0x00ea, DEVICE_FLAG_NONE },
Linus Walleij18faccb2009-08-03 20:21:55 +00001013 // From: Gausie <innerdreams@users.sourceforge.net>
Linus Walleije3388702010-02-03 10:02:13 +00001014 { "Nokia", 0x0421, "5800 XpressMusic", 0x0154,
1015 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij79547002009-02-02 21:05:14 +00001016 // From: Willy Gardiol (web) <willy@gardiol.org>
Linus Walleijebf32cc2010-04-04 23:07:25 +00001017 // Spurious errors for getting all objects, lead me to believe
1018 // this flag atleast is needed
Linus Walleije3388702010-02-03 10:02:13 +00001019 { "Nokia", 0x0421, "5800 XpressMusic v2", 0x0155,
1020 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij33a4f2d2011-09-29 19:56:01 +02001021 // Yet another version... I think
1022 { "Nokia", 0x0421, "5800 XpressMusic v3", 0x0159,
1023 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij5b4d8e02009-01-07 21:44:59 +00001024 // From an anonymous SourceForge user
1025 // Not verified to be MTP
1026 { "Nokia", 0x0421, "E63", 0x0179, DEVICE_FLAG_NONE },
Linus Walleijc8c452b2012-04-03 01:28:18 +02001027 // Reported by: max g <exactt@users.sourceforge.net>
Linus Walleij07fa8202012-04-03 01:29:48 +02001028 // Reported by: oswillios <loswillios@users.sourceforge.net>
Linus Walleijc8c452b2012-04-03 01:28:18 +02001029 { "Nokia", 0x0421, "N79", 0x0186, DEVICE_FLAG_NONE },
Linus Walleijebf32cc2010-04-04 23:07:25 +00001030 // From an anonymous SourceForge user
1031 { "Nokia", 0x0421, "E71x", 0x01a1, DEVICE_FLAG_NONE },
Linus Walleij01d5a732011-01-08 22:40:26 +00001032 // From Ser <ser@users.sourceforge.net>
1033 { "Nokia", 0x0421, "E52", 0x01cf, DEVICE_FLAG_NONE },
Linus Walleij07637a62010-05-22 22:52:58 +00001034 // From Marcus Meissner
1035 { "Nokia", 0x0421, "3710", 0x01ee, DEVICE_FLAG_NONE },
Linus Walleij99d390e2010-01-19 01:17:39 +00001036 // From: AxeL <axel__17@users.sourceforge.net>
1037 { "Nokia", 0x0421, "N97-1", 0x01f4, DEVICE_FLAG_NONE },
Linus Walleij4fe08902009-08-03 20:27:27 +00001038 // From: FunkyPenguin <awafaa@users.sourceforge.net>
1039 { "Nokia", 0x0421, "N97", 0x01f5, DEVICE_FLAG_NONE },
Linus Walleijc18f1aa2010-01-19 00:19:12 +00001040 // From: Anonymous SourceForge user
1041 { "Nokia", 0x0421, "5130 XpressMusic", 0x0209, DEVICE_FLAG_NONE },
Linus Walleij247b3d62010-05-22 22:22:41 +00001042 // From: Anonymous SourceForge user
1043 { "Nokia", 0x0421, "E72", 0x0221, DEVICE_FLAG_NONE },
1044 // From: Anonymous SourceForge user
1045 { "Nokia", 0x0421, "5530", 0x0229, DEVICE_FLAG_NONE },
Linus Walleij8e1ef542010-05-22 22:46:22 +00001046 // From: Anonymous SourceForge user
1047 { "Nokia", 0x0421, "N97 mini", 0x026b, DEVICE_FLAG_NONE },
Linus Walleij1c1f5ec2012-07-30 11:10:02 +02001048 // From: Anonymous SourceForge user
Linus Walleijb9e6c482012-07-30 11:14:31 +02001049 { "Nokia", 0x0421, "X6", 0x0274, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij5ffcec92009-09-03 21:16:36 +00001050 // From: Alexander Kojevnikov <alex-kay@users.sourceforge.net>
1051 { "Nokia", 0x0421, "6600i", 0x0297, DEVICE_FLAG_NONE },
Linus Walleij5f5360f2010-11-24 13:37:50 +00001052 // From: Karthik Paithankar <whyagain2005@users.sourceforge.net>
1053 { "Nokia", 0x0421, "2710", 0x02c1, DEVICE_FLAG_NONE },
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001054 // From: Mick Stephenson <MickStep@users.sourceforge.net>
Linus Walleijd13f8c22010-11-24 13:48:12 +00001055 { "Nokia", 0x0421, "5230", 0x02e2, DEVICE_FLAG_NONE },
Linus Walleij1ed0a832010-10-27 15:39:11 +00001056 // From: Lan Liu at Nokia <lan.liu@nokia.com>
1057 { "Nokia", 0x0421, "N8", 0x02fe, DEVICE_FLAG_NONE },
1058 // From: Lan Liu at Nokia <lan.liu@nokia.com>
1059 { "Nokia", 0x0421, "N8 (Ovi mode)", 0x0302, DEVICE_FLAG_NONE },
Linus Walleij36463172011-09-29 22:48:51 +02001060 // From: Martijn Hoogendoorn <m.hoogendoorn@gmail.com>
1061 { "Nokia", 0x0421, "E7", 0x0334, DEVICE_FLAG_NONE },
Raul Metsma9426a062011-03-22 23:19:08 +01001062 // From: Raul Metsma <raul@innovaatik.ee>
Linus Walleij36463172011-09-29 22:48:51 +02001063 { "Nokia", 0x0421, "E7 (Ovi mode)", 0x0335, DEVICE_FLAG_NONE },
Linus Walleij14cee672012-01-06 12:54:47 +01001064 // Reported by Serg <rd77@users.sourceforge.net>
Linus Walleijb1dcb702012-01-12 23:34:04 +01001065 // Symbian phone
Linus Walleij14cee672012-01-06 12:54:47 +01001066 { "Nokia", 0x0421, "C7", 0x03c1, DEVICE_FLAG_NONE },
Linus Walleij36463172011-09-29 22:48:51 +02001067 // Reported by Anonymous SourceForge user
Linus Walleij5e61c062012-05-02 10:11:48 +02001068 { "Nokia", 0x0421, "C7 (ID2)", 0x03cd, DEVICE_FLAG_NONE },
1069 // Reported by Anonymous SourceForge user
Linus Walleij36463172011-09-29 22:48:51 +02001070 { "Nokia", 0x0421, "N950", 0x03d2, DEVICE_FLAG_NONE },
Linus Walleij60144512008-10-25 19:11:48 +00001071 // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_3250_WMP10_driver.inf
1072 { "Nokia", 0x0421, "3250 Mobile Phone", 0x0462, DEVICE_FLAG_NONE },
1073 // From http://nds2.nokia.com/files/support/global/phones/software/Nokia_N93_WMP10_Driver.inf
1074 { "Nokia", 0x0421, "N93 Mobile Phone", 0x0478, DEVICE_FLAG_NONE },
1075 // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_5500_Sport_WMP10_driver.inf
1076 { "Nokia", 0x0421, "5500 Sport Mobile Phone", 0x047e, DEVICE_FLAG_NONE },
1077 // From http://nds2.nokia.com/files/support/global/phones/software/Nokia_N91_WMP10_Driver.inf
1078 { "Nokia", 0x0421, "N91 Mobile Phone", 0x0485, DEVICE_FLAG_NONE },
Linus Walleij250ef742008-04-05 20:11:44 +00001079 // From: Christian Rusa <kristous@users.sourceforge.net>
1080 { "Nokia", 0x0421, "5700 XpressMusic Mobile Phone", 0x04b4, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001081 // From: Mitchell Hicks <mitchix@yahoo.com>
1082 { "Nokia", 0x0421, "5300 Mobile Phone", 0x04ba, DEVICE_FLAG_NONE },
Linus Walleij9dfb1f82011-05-27 00:43:44 +02001083 // https://sourceforge.net/tracker/index.php?func=detail&aid=2692473&group_id=8874&atid=358874
1084 // From: Tiburce <tiburce@users.sourceforge.net>
1085 { "Nokia", 0x0421, "5200 Mobile Phone", 0x04be,
1086 DEVICE_FLAG_BROKEN_BATTERY_LEVEL },
Linus Walleij1a673de2007-10-29 23:10:05 +00001087 // From Christian Arnold <webmaster@arctic-media.de>
1088 { "Nokia", 0x0421, "N73 Mobile Phone", 0x04d1, DEVICE_FLAG_UNLOAD_DRIVER },
1089 // From Swapan <swapan@yahoo.com>
1090 { "Nokia", 0x0421, "N75 Mobile Phone", 0x04e1, DEVICE_FLAG_NONE },
Linus Walleij60144512008-10-25 19:11:48 +00001091 // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_N93i_WMP10_driver.inf
1092 { "Nokia", 0x0421, "N93i Mobile Phone", 0x04e5, DEVICE_FLAG_NONE },
Linus Walleija6d0d482007-10-31 08:54:56 +00001093 // From Anonymous Sourceforge User
1094 { "Nokia", 0x0421, "N95 Mobile Phone", 0x04ef, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001095 // From: Pat Nicholls <pat@patandannie.co.uk>
Linus Walleijf8d796f2011-11-28 18:52:22 +01001096 { "Nokia", 0x0421, "N80 Internet Edition (Media Player)", 0x04f1,
1097 DEVICE_FLAG_UNLOAD_DRIVER },
1098 // From: Maxin B. John <maxin.john@gmail.com>
1099 { "Nokia", 0x0421, "N9", 0x051a, DEVICE_FLAG_NONE },
Linus Walleij57e4a4a2013-01-01 22:57:16 +01001100 // Reported by Sampo Savola
Linus Walleij2fabdbd2013-02-24 22:46:51 +01001101 // Covers Lumia 920, 820 and probably any WP8 device.
1102 { "Nokia", 0x0421, "Nokia Lumia WP8", 0x0661, DEVICE_FLAG_NONE },
Linus Walleij67465c12009-08-23 21:56:26 +00001103 // Reported by Richard Wall <richard@the-moon.net>
1104 { "Nokia", 0x05c6, "5530 Xpressmusic", 0x0229, DEVICE_FLAG_NONE },
Linus Walleijc2bc9732008-08-14 21:12:44 +00001105 // Reported by anonymous SourceForge user
1106 // One thing stated by reporter (Nokia model) another by the detect log...
1107 { "Nokia/Verizon", 0x05c6, "6205 Balboa/Verizon Music Phone", 0x3196, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001108
Linus Walleija6d0d482007-10-31 08:54:56 +00001109
Linus Walleij1a673de2007-10-29 23:10:05 +00001110 /*
Linus Walleij83475632009-11-07 14:36:44 +00001111 * Vendor ID 0x13d1 is some offshoring company in China,
1112 * in one source named "A-Max Technology Macao Commercial
1113 * Offshore Co. Ltd." sometime "CCTech".
Linus Walleij1a673de2007-10-29 23:10:05 +00001114 */
Linus Walleij83475632009-11-07 14:36:44 +00001115 // Logik brand
Linus Walleij1a673de2007-10-29 23:10:05 +00001116 { "Logik", 0x13d1, "LOG DAX MP3 and DAB Player", 0x7002, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij83475632009-11-07 14:36:44 +00001117 // Technika brand
1118 // Reported by <Ooblick@users.sourceforge.net>
1119 { "Technika", 0x13d1, "MP-709", 0x7017, DEVICE_FLAG_UNLOAD_DRIVER },
1120
Linus Walleij1a673de2007-10-29 23:10:05 +00001121
1122 /*
1123 * RCA / Thomson
1124 */
1125 // From kiki <omkiki@users.sourceforge.net>
1126 { "Thomson", 0x069b, "EM28 Series", 0x0774, DEVICE_FLAG_NONE },
Richard Low957ffba2008-01-21 17:31:20 +00001127 { "Thomson / RCA", 0x069b, "Opal / Lyra MC4002", 0x0777, DEVICE_FLAG_NONE },
Linus Walleij01fc9c82009-03-10 23:52:09 +00001128 { "Thomson", 0x069b, "Lyra MC5104B (M51 Series)", 0x077c, DEVICE_FLAG_NONE },
Linus Walleij2c414c42008-01-19 07:11:19 +00001129 { "Thomson", 0x069b, "RCA H106", 0x301a, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +00001130 // From Svenna <svenna@svenna.de>
1131 // Not confirmed to be MTP.
1132 { "Thomson", 0x069b, "scenium E308", 0x3028, DEVICE_FLAG_NONE },
Richard Lowa11a6ad2008-01-21 17:23:55 +00001133 // From XNJB user
Richard Low957ffba2008-01-21 17:31:20 +00001134 { "Thomson / RCA", 0x069b, "Lyra HC308A", 0x3035, DEVICE_FLAG_NONE },
Linus Walleij2aa35742009-11-07 14:39:03 +00001135
Linus Walleij1a673de2007-10-29 23:10:05 +00001136 /*
Linus Walleij33c7b502012-11-13 23:09:23 +01001137 * Fujitsu devices
Linus Walleij1a673de2007-10-29 23:10:05 +00001138 */
Linus Walleij33c7b502012-11-13 23:09:23 +01001139 { "Fujitsu, Ltd", 0x04c5, "F903iX HIGH-SPEED", 0x1140, DEVICE_FLAG_NONE },
1140 // Reported by Thomas Bretthauer
1141 { "Fujitsu, Ltd", 0x04c5, "STYLISTIC M532", 0x133b,
1142 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij1a673de2007-10-29 23:10:05 +00001143
1144 /*
1145 * Palm device userland program named Pocket Tunes
1146 * Reported by Peter Gyongyosi <gyp@impulzus.com>
1147 */
Linus Walleijfc438072008-10-31 21:12:43 +00001148 { "NormSoft, Inc.", 0x1703, "Pocket Tunes", 0x0001, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001149 // Reported by anonymous submission
Linus Walleijfc438072008-10-31 21:12:43 +00001150 { "NormSoft, Inc.", 0x1703, "Pocket Tunes 4", 0x0002, DEVICE_FLAG_NONE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001151
1152 /*
Linus Walleijf6612032009-07-23 22:50:57 +00001153 * TrekStor, Medion and Maxfield devices
Linus Walleij1a673de2007-10-29 23:10:05 +00001154 * Their datasheet claims their devices are dualmode so probably needs to
1155 * unload the attached drivers here.
1156 */
1157 // Reported by Stefan Voss <svoss@web.de>
Linus Walleij10b06d42007-11-05 11:32:07 +00001158 // This is a Sigmatel SoC with a hard disk.
Linus Walleijd866d242009-08-23 21:50:39 +00001159 { "TrekStor", 0x066f, "Vibez 8/12GB", 0x842a,
Linus Walleij07bb5382008-07-31 20:21:09 +00001160 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1161 // Reported by anonymous SourceForge user.
1162 // This one done for Medion, whatever that is. Error reported so assume
1163 // the same bug flag as its ancestor above.
1164 { "Medion", 0x066f, "MD8333", 0x8550,
1165 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijf6612032009-07-23 22:50:57 +00001166 // Reported by anonymous SourceForge user
Linus Walleijdc33ef92008-11-15 09:45:53 +00001167 { "Medion", 0x066f, "MD8333", 0x8588,
1168 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij14cee672012-01-06 12:54:47 +01001169 // The vendor ID is "Quanta Computer, Inc."
1170 // same as Olivetti Olipad 110
1171 // Guessing on device flags
1172 { "Medion", 0x0408, "MD99000 (P9514)/Olivetti Olipad 110", 0xb009,
1173 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij6f6d37e2012-06-29 00:00:24 +02001174 // Reported by Richard Eigenmann <richieigenmann@users.sourceforge.net>
1175 { "Medion", 0x0408, "Lifetab P9514", 0xb00a,
1176 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijf6612032009-07-23 22:50:57 +00001177 // Reported by anonymous SourceForge user
1178 { "Maxfield", 0x066f, "G-Flash NG 1GB", 0x846c,
1179 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij966ec9b2010-04-25 05:03:18 +00001180 // Reported by PaoloC <efmpsc@users.sourceforge.net>
1181 // Apparently SigmaTel has an SDK for MTP players with this ID
1182 { "SigmaTel Inc.", 0x066f, "MTPMSCN Audio Player", 0xa010,
1183 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +00001184 // Reported by Cristi Magherusan <majeru@gentoo.ro>
Linus Walleijd866d242009-08-23 21:50:39 +00001185 { "TrekStor", 0x0402, "i.Beat Sweez FM", 0x0611,
1186 DEVICE_FLAG_UNLOAD_DRIVER },
1187 // Reported by Fox-ino <fox-ino@users.sourceforge.net>
Linus Walleij2cf6aa82010-10-31 17:19:59 +00001188 // No confirmation that this is really MTP so commented it out.
1189 // { "ALi Corp.", 0x0402, "MPMAN 2GB", 0x5668,
Linus Walleij5f5360f2010-11-24 13:37:50 +00001190 // DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij2a7c6c72009-05-19 22:33:43 +00001191 // Reported by Anonymous SourceForge user
1192 {"TrekStor", 0x1e68, "i.Beat Organix 2.0", 0x0002,
1193 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijd866d242009-08-23 21:50:39 +00001194
Linus Walleij1a673de2007-10-29 23:10:05 +00001195 /*
Linus Walleijf88b5a42009-04-20 22:36:41 +00001196 * Disney/Tevion/MyMusix
Linus Walleij1a673de2007-10-29 23:10:05 +00001197 */
1198 // Reported by XNJB user
1199 { "Disney", 0x0aa6, "MixMax", 0x6021, DEVICE_FLAG_NONE },
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001200 // Reported by anonymous Sourceforge user
Linus Walleij21704fd2008-02-29 22:50:29 +00001201 { "Tevion", 0x0aa6, "MD 81488", 0x3011, DEVICE_FLAG_NONE },
Linus Walleijf88b5a42009-04-20 22:36:41 +00001202 // Reported by Peter Hedlund <peter@peterandlinda.com>
1203 { "MyMusix", 0x0aa6, "PD-6070", 0x9601, DEVICE_FLAG_UNLOAD_DRIVER |
1204 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1205 DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1206 DEVICE_FLAG_NO_RELEASE_INTERFACE },
Linus Walleij1a673de2007-10-29 23:10:05 +00001207
1208 /*
1209 * Cowon Systems, Inc.
1210 * The iAudio audiophile devices don't encourage the use of MTP.
Linus Walleij2d54eba2010-05-23 23:37:10 +00001211 * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg
1212 * status
Linus Walleij1a673de2007-10-29 23:10:05 +00001213 */
1214 // Reported by Patrik Johansson <Patrik.Johansson@qivalue.com>
Linus Walleij7e3b3072009-01-19 22:51:17 +00001215 { "Cowon", 0x0e21, "iAudio U3 (MTP mode)", 0x0701,
Linus Walleij2d54eba2010-05-23 23:37:10 +00001216 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1217 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleijee387d72008-11-12 23:42:02 +00001218 // Reported by Kevin Michael Smith <hai-etlik@users.sourceforge.net>
Linus Walleij7e3b3072009-01-19 22:51:17 +00001219 { "Cowon", 0x0e21, "iAudio 6 (MTP mode)", 0x0711,
1220 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +00001221 // Reported by Roberth Karman
Linus Walleij7e3b3072009-01-19 22:51:17 +00001222 { "Cowon", 0x0e21, "iAudio 7 (MTP mode)", 0x0751,
Linus Walleij2d54eba2010-05-23 23:37:10 +00001223 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1224 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleijf8c251e2008-06-08 21:32:01 +00001225 // Reported by an anonymous SourceForge user
Linus Walleij7e3b3072009-01-19 22:51:17 +00001226 { "Cowon", 0x0e21, "iAudio U5 (MTP mode)", 0x0761,
Linus Walleij2d54eba2010-05-23 23:37:10 +00001227 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1228 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +00001229 // Reported by TJ Something <tjbk_tjb@users.sourceforge.net>
Linus Walleij4a779562009-03-29 23:36:45 +00001230 { "Cowon", 0x0e21, "iAudio D2 (MTP mode)", 0x0801,
Linus Walleijecbe7452010-05-15 00:15:37 +00001231 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1232 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleijd09f65e2009-05-04 23:18:29 +00001233 // Reported by anonymous Sourceforge user
Linus Walleij18ed0162009-05-06 16:51:08 +00001234 { "Cowon", 0x0e21, "iAudio D2+ FW 2.x (MTP mode)", 0x0861,
Linus Walleijecbe7452010-05-15 00:15:37 +00001235 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1236 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij18ed0162009-05-06 16:51:08 +00001237 // From Rockbox device listing
1238 { "Cowon", 0x0e21, "iAudio D2+ DAB FW 4.x (MTP mode)", 0x0871,
Linus Walleijecbe7452010-05-15 00:15:37 +00001239 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1240 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij18ed0162009-05-06 16:51:08 +00001241 // From Rockbox device listing
1242 { "Cowon", 0x0e21, "iAudio D2+ FW 3.x (MTP mode)", 0x0881,
Linus Walleijecbe7452010-05-15 00:15:37 +00001243 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1244 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij18ed0162009-05-06 16:51:08 +00001245 // From Rockbox device listing
1246 { "Cowon", 0x0e21, "iAudio D2+ DMB FW 1.x (MTP mode)", 0x0891,
Linus Walleijecbe7452010-05-15 00:15:37 +00001247 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1248 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij4a779562009-03-29 23:36:45 +00001249 // Reported by <twkonefal@users.sourceforge.net>
1250 { "Cowon", 0x0e21, "iAudio S9 (MTP mode)", 0x0901,
Linus Walleij48946ff2009-06-24 08:15:39 +00001251 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij89bb1cd2009-07-24 21:03:36 +00001252 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij4d3618b2009-11-30 00:19:56 +00001253 // Reported by Dan Nicholson <dbn.lists@gmail.com>
1254 { "Cowon", 0x0e21, "iAudio 9 (MTP mode)", 0x0911,
Linus Walleijecbe7452010-05-15 00:15:37 +00001255 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1256 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij568022b2010-08-20 22:24:04 +00001257 // Reported by Franck VDL <franckv@users.sourceforge.net>
1258 { "Cowon", 0x0e21, "iAudio J3 (MTP mode)", 0x0921,
1259 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1260 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij4de35d72011-05-25 00:54:47 +02001261 // Reported by anonymous SourceForge user
1262 { "Cowon", 0x0e21, "iAudio X7 (MTP mode)", 0x0931,
1263 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1264 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij530e4512012-05-02 09:59:09 +02001265 // Reported by anonymous SourceForge user
1266 { "Cowon", 0x0e21, "iAudio C2 (MTP mode)", 0x0941,
1267 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1268 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleijc10f7b12012-04-03 01:32:41 +02001269 { "Cowon", 0x0e21, "iAudio 10 (MTP mode)", 0x0952,
1270 DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1271 DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
Linus Walleij1a673de2007-10-29 23:10:05 +00001272
1273 /*
1274 * Insignia, dual-mode.
1275 */
1276 { "Insignia", 0x19ff, "NS-DV45", 0x0303, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij478ddb92007-11-26 21:01:29 +00001277 // Reported by Rajan Bella <rajanbella@yahoo.com>
1278 { "Insignia", 0x19ff, "Sport Player", 0x0307, DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +00001279 // Reported by "brad" (anonymous, sourceforge)
1280 { "Insignia", 0x19ff, "Pilot 4GB", 0x0309, DEVICE_FLAG_UNLOAD_DRIVER },
1281
1282 /*
1283 * LG Electronics
1284 */
Linus Walleij1291ce02009-11-07 14:26:57 +00001285 // From anonymous SourceForge user
1286 // Uncertain if this is really the MTP mode device ID...
1287 { "LG Electronics Inc.", 0x043e, "T54", 0x7040,
1288 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij1a673de2007-10-29 23:10:05 +00001289 // Not verified - anonymous submission
Linus Walleij7b4794f2008-08-13 13:17:17 +00001290 { "LG Electronics Inc.", 0x043e, "UP3", 0x70b1, DEVICE_FLAG_NONE },
1291 // Reported by Joseph Nahmias <joe@nahimas.net>
1292 { "LG Electronics Inc.", 0x1004, "VX8550 V CAST Mobile Phone", 0x6010,
Linus Walleij7c710892011-05-26 23:44:48 +02001293 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1294 DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
Linus Walleij2242b022009-01-02 01:44:00 +00001295 // Reported by Cyrille Potereau <cyrille.potereau@wanadoo.fr>
1296 { "LG Electronics Inc.", 0x1004, "KC910 Renoir Mobile Phone", 0x608f,
1297 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleij4e36ced2010-01-19 00:51:43 +00001298 // Reported by Aaron Slunt <tongle@users.sourceforge.net>
1299 { "LG Electronics Inc.", 0x1004, "GR-500 Music Player", 0x611b,
Linus Walleij7c710892011-05-26 23:44:48 +02001300 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1301 DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
Linus Walleij7fe2b4f2009-05-02 07:07:50 +00001302 // Reported by anonymous sourceforge user
1303 { "LG Electronics Inc.", 0x1004, "KM900", 0x6132,
Linus Walleij7c710892011-05-26 23:44:48 +02001304 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1305 DEVICE_FLAG_UNLOAD_DRIVER },
1306 // Reported by anonymous sourceforge user
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001307 { "LG Electronics Inc.", 0x1004, "LG8575", 0x619a,
1308 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1309 DEVICE_FLAG_UNLOAD_DRIVER },
1310 // Reported by anonymous sourceforge user
Linus Walleij7c710892011-05-26 23:44:48 +02001311 { "LG Electronics Inc.", 0x1004, "V909 G-Slate", 0x61f9,
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001312 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
Linus Walleij7c710892011-05-26 23:44:48 +02001313 DEVICE_FLAG_UNLOAD_DRIVER },
Linus Walleijef1567b2012-09-02 17:40:48 +02001314 // Reported by Brian J. Murrell
Linus Walleijbbbde1b2013-03-05 11:20:40 +01001315 { "LG Electronics Inc.", 0x1004, "LG-E610/E612/E617G/P700", 0x631c,
Linus Walleijef1567b2012-09-02 17:40:48 +02001316 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij1a673de2007-10-29 23:10:05 +00001317
1318 /*
1319 * Sony
Linus Walleijbc3ed4d2008-01-03 13:54:23 +00001320 * It could be that these PIDs are one-per hundred series, so
1321 * NWZ-A8xx is 0325, NWZ-S5xx is 0x326 etc. We need more devices
1322 * reported to see a pattern here.
Linus Walleij1a673de2007-10-29 23:10:05 +00001323 */
Linus Walleija8ba8c72008-03-29 00:02:27 +00001324 // Reported by Alessandro Radaelli <alessandro.radaelli@aruba.it>
Linus Walleij6d6e2d12009-09-10 23:17:02 +00001325 { "Sony", 0x054c, "Walkman NWZ-A815/NWZ-A818", 0x0325,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001326 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij5d709a52007-12-28 21:37:17 +00001327 // Reported by anonymous Sourceforge user.
Linus Walleij46b909a2009-09-23 06:55:14 +00001328 { "Sony", 0x054c, "Walkman NWZ-S516", 0x0326,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001329 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij1a673de2007-10-29 23:10:05 +00001330 // Reported by Endre Oma <endre.88.oma@gmail.com>
Linus Walleij6d6e2d12009-09-10 23:17:02 +00001331 { "Sony", 0x054c, "Walkman NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001332 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij062ec7d2008-05-19 12:06:32 +00001333 // Reported by Jean-Marc Bourguet <jm@bourguet.org>
Linus Walleij46b909a2009-09-23 06:55:14 +00001334 { "Sony", 0x054c, "Walkman NWZ-S716F", 0x035a,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001335 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij0c98ce82008-05-25 11:08:36 +00001336 // Reported by Anon SF User / Anthon van der Neut <avanderneut@avid.com>
Linus Walleij6d6e2d12009-09-10 23:17:02 +00001337 { "Sony", 0x054c, "Walkman NWZ-A826/NWZ-A828/NWZ-A829", 0x035b,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001338 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleija8ba8c72008-03-29 00:02:27 +00001339 // Reported by Niek Klaverstijn <niekez@users.sourceforge.net>
Linus Walleij6d6e2d12009-09-10 23:17:02 +00001340 { "Sony", 0x054c, "Walkman NWZ-A726/NWZ-A728/NWZ-A768", 0x035c,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001341 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij45b843e2008-10-09 08:33:01 +00001342 // Reported by Mehdi AMINI <mehdi.amini - at - ulp.u-strasbg.fr>
Linus Walleij46b909a2009-09-23 06:55:14 +00001343 { "Sony", 0x054c, "Walkman NWZ-B135", 0x036e,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001344 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij2242b022009-01-02 01:44:00 +00001345 // Reported by <tiagoboldt@users.sourceforge.net>
Linus Walleij46b909a2009-09-23 06:55:14 +00001346 { "Sony", 0x054c, "Walkman NWZ-E436F", 0x0385,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001347 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij7fe2b4f2009-05-02 07:07:50 +00001348 // Reported by Michael Wilkinson
Linus Walleij46b909a2009-09-23 06:55:14 +00001349 { "Sony", 0x054c, "Walkman NWZ-W202", 0x0388,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001350 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij25a16302009-03-04 13:56:33 +00001351 // Reported by Ondrej Sury <ondrej@sury.org>
Linus Walleij46b909a2009-09-23 06:55:14 +00001352 { "Sony", 0x054c, "Walkman NWZ-S739F", 0x038c,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001353 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleijd8f1feb2008-10-08 09:16:42 +00001354 // Reported by Marco Filipe Nunes Soares Abrantes Pereira <marcopereira@ua.pt>
Linus Walleij46b909a2009-09-23 06:55:14 +00001355 { "Sony", 0x054c, "Walkman NWZ-S638F", 0x038e,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001356 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij0c6808e2009-07-23 22:44:38 +00001357 // Reported by Elliot <orwells@users.sourceforge.net>
Linus Walleij8d799eb2009-07-23 22:58:06 +00001358 { "Sony", 0x054c, "Walkman NWZ-X1050B/NWZ-X1060B",
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001359 0x0397, DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij8d799eb2009-07-23 22:58:06 +00001360 // Reported by Silvio J. Gutierrez <silviogutierrez@users.sourceforge.net>
Linus Walleij6d6e2d12009-09-10 23:17:02 +00001361 { "Sony", 0x054c, "Walkman NWZ-X1051/NWZ-X1061", 0x0398,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001362 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij2aa35742009-11-07 14:39:03 +00001363 // Reported by Gregory Boddin <gregory@siwhine.net>
1364 { "Sony", 0x054c, "Walkman NWZ-B142F", 0x03d8,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001365 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleijbe7f77b2010-05-22 22:43:46 +00001366 // Reported by Rick Warner <rick@reptileroom.net>
Linus Walleij33c7b502012-11-13 23:09:23 +01001367 { "Sony", 0x054c, "Walkman NWZ-E344/E345", 0x03fc,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001368 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij5e44ed52010-01-30 08:06:11 +00001369 // Reported by Jonathan Stowe <gellyfish@users.sourceforge.net>
1370 { "Sony", 0x054c, "Walkman NWZ-E445", 0x03fd,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001371 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij99d390e2010-01-19 01:17:39 +00001372 // Reported by Anonymous SourceForge user
1373 { "Sony", 0x054c, "Walkman NWZ-S545", 0x03fe,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001374 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij36efffb2010-10-17 21:46:58 +00001375 { "Sony", 0x054c, "Walkman NWZ-A845", 0x0404,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001376 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij36463172011-09-29 22:48:51 +02001377 // Reported by anonymous SourceForge user
1378 { "Sony", 0x054c, "Walkman NWZ-W252B", 0x04bb,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001379 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij36463172011-09-29 22:48:51 +02001380 // Suspect this device has strong DRM features
1381 // See https://answers.launchpad.net/ubuntu/+source/libmtp/+question/149587
Linus Walleijd959bed2010-11-24 13:42:44 +00001382 { "Sony", 0x054c, "Walkman NWZ-B153F", 0x04be,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001383 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij96d40c62010-11-24 14:37:10 +00001384 { "Sony", 0x054c, "Walkman NWZ-E354", 0x04cb,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001385 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij4de35d72011-05-25 00:54:47 +02001386 // Reported by Toni Burgarello
1387 { "Sony", 0x054c, "Walkman NWZ-S754", 0x04cc,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001388 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij614fffc2012-09-16 21:06:18 +02001389 // Reported by Hideki Yamane <henrich@debian.org>
1390 { "Sony", 0x054c, "Sony Tablet P1", 0x04d1,
1391 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij8f2d3c12012-03-22 22:48:53 +01001392 // Reported by dmiceman
1393 { "Sony", 0x054c, "NWZ-B163F", 0x059a,
1394 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleij14cee672012-01-06 12:54:47 +01001395 // Reported by anonymous Sourceforge user
1396 // guessing on device flags...
1397 { "Sony", 0x054c, "Walkman NWZ-E464", 0x05a6,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001398 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleijaa43ff72012-01-06 17:58:25 +01001399 // Reported by Jan Rheinlaender <jrheinlaender@users.sourceforge.net>
1400 { "Sony", 0x054c, "NWZ-S765", 0x05a8,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001401 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleijc8dee9a2012-09-02 16:58:07 +02001402 // Olivier Keshavjee <olivierkes@users.sourceforge.net>
1403 { "Sony", 0x054c, "Sony Tablet S", 0x05b3,
1404 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6d91ac02012-01-29 02:52:16 +01001405 // Reported by ghalambaz <ghalambaz@users.sourceforge.net>
1406 { "Sony", 0x054c, "Sony Tablet S1", 0x05b4,
1407 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij14735952010-04-25 04:56:49 +00001408 // Reported by Anonymous SourceForge user
Richard Low3c9366e2010-06-19 11:12:46 +00001409 { "Sony", 0x054c, "DCR-SR75", 0x1294,
Linus Walleij15c7d1b2012-01-07 01:37:31 +01001410 DEVICE_FLAGS_SONY_NWZ_BUGS },
Linus Walleijd8f1feb2008-10-08 09:16:42 +00001411
Linus Walleij1a673de2007-10-29 23:10:05 +00001412 /*
Linus Walleijaa6b0192007-10-29 23:39:48 +00001413 * SonyEricsson
Linus Walleijc7756412008-10-21 14:24:24 +00001414 * These initially seemed to support GetObjPropList but later revisions
1415 * of the firmware seem to have broken it, so all are flagged as broken
1416 * for now.
Linus Walleijaa6b0192007-10-29 23:39:48 +00001417 */
Linus Walleijb3b29e72007-11-05 22:29:53 +00001418 // Reported by Øyvind Stegard <stegaro@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001419 { "SonyEricsson", 0x0fce, "K850i", 0x0075,
1420 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijaa6b0192007-10-29 23:39:48 +00001421 // Reported by Michael Eriksson
Linus Walleijbe770922011-10-04 22:06:27 +02001422 { "SonyEricsson", 0x0fce, "W910", 0x0076,
1423 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijb5a4f922008-05-11 20:15:00 +00001424 // Reported by Zack <zackdvd@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001425 { "SonyEricsson", 0x0fce, "W890i", 0x00b3,
1426 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijc2bc9732008-08-14 21:12:44 +00001427 // Reported by robert dot ahlskog at gmail
Linus Walleijbe770922011-10-04 22:06:27 +02001428 { "SonyEricsson", 0x0fce, "W760i", 0x00c6,
1429 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijf8c251e2008-06-08 21:32:01 +00001430 // Reported by Linus Ã…kesson <linusakesson@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001431 { "SonyEricsson", 0x0fce, "C902", 0x00d4,
1432 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij07bb5382008-07-31 20:21:09 +00001433 // Reported by an anonymous SourceForge user
Linus Walleijbe770922011-10-04 22:06:27 +02001434 { "SonyEricsson", 0x0fce, "C702", 0x00d9,
1435 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijdb6da7c2008-10-16 18:46:34 +00001436 // Reported by Christian Zuckschwerdt <christian@zuckschwerdt.org>
Linus Walleijbe770922011-10-04 22:06:27 +02001437 { "SonyEricsson", 0x0fce, "W980", 0x00da,
1438 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij76edf7e2009-05-19 22:37:07 +00001439 // Reported by David Taylor <davidt-libmtp@yadt.co.uk>
Linus Walleijbe770922011-10-04 22:06:27 +02001440 { "SonyEricsson", 0x0fce, "C905", 0x00ef,
1441 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij4aa66dc2009-05-02 06:36:59 +00001442 // Reported by David House <dmhouse@users.sourceforge.net>
1443 { "SonyEricsson", 0x0fce, "W595", 0x00f3,
Linus Walleijbe770922011-10-04 22:06:27 +02001444 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
1445 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
Linus Walleij2c34d432008-12-13 22:01:32 +00001446 // Reported by Mattias Evensson <mevensson@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001447 { "SonyEricsson", 0x0fce, "W902", 0x00f5,
1448 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij5ffcec92009-09-03 21:16:36 +00001449 // Reported by Sarunas <sarunas@users.sourceforge.net>
1450 // Doesn't need any flags according to reporter
Linus Walleijbe770922011-10-04 22:06:27 +02001451 { "SonyEricsson", 0x0fce, "T700", 0x00fb,
1452 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij4a779562009-03-29 23:36:45 +00001453 // Reported by Stéphane Pontier <shadow_walker@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001454 { "SonyEricsson", 0x0fce, "W705/W715", 0x0105,
1455 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleije7ab9482009-07-23 23:50:51 +00001456 // Reported by HÃ¥kan Kvist
Linus Walleijbe770922011-10-04 22:06:27 +02001457 { "SonyEricsson", 0x0fce, "W995", 0x0112,
1458 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij96a50382010-07-24 23:32:17 +00001459 // Reported by anonymous SourceForge user
Linus Walleijbe770922011-10-04 22:06:27 +02001460 { "SonyEricsson", 0x0fce, "U5", 0x0133,
1461 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleija8e6bc62011-01-08 23:04:20 +00001462 // Reported by Flo <lhugsereg@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001463 { "SonyEricsson", 0x0fce, "U8i", 0x013a,
1464 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij4de35d72011-05-25 00:54:47 +02001465 // Reported by xirotyu <xirotyu@users.sourceforge.net>
Linus Walleijbe770922011-10-04 22:06:27 +02001466 { "SonyEricsson", 0x0fce, "j10i2 (Elm)", 0x0144,
1467 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij9b525fe2011-10-22 00:30:50 +02001468 // Reported by Serge Chirik <schirik@users.sourceforge.net>
1469 { "SonyEricsson", 0x0fce, "j108i (Cedar)", 0x014e,
1470 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleijfd3362e2012-08-19 18:38:43 +02001471 // Reported by Jonas Nyrén <spectralmks@users.sourceforge.net>
1472 { "SonyEricsson", 0x0fce, "W302", 0x10c8,
1473 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1474 // Reported by Anonymous Sourceforge user
1475 { "SonyEricsson", 0x0fce, "j10i (Elm)", 0xd144,
1476 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1477 // Reported by Thomas Schweitzer <thomas_-_s@users.sourceforge.net>
1478 { "SonyEricsson", 0x0fce, "K550i", 0xe000,
1479 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1480
Linus Walleij0ece1042012-06-29 00:46:11 +02001481 /*
1482 * SonyEricsson/SONY Android devices usually have three personalities due to
1483 * using composite descriptors and the fact that Windows cannot distinguish
1484 * the device unless each composite descriptor is unique.
1485 *
Linus Walleijfd3362e2012-08-19 18:38:43 +02001486 * Legend:
1487 * MTP = Media Transfer Protocol
1488 * UMS = USB Mass Storage Protocol
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001489 * ADB = Android Debug Bridge Protocol
Linus Walleijfd3362e2012-08-19 18:38:43 +02001490 * CDC = Communications Device Class, Internet Sharing
1491 *
Linus Walleij0ece1042012-06-29 00:46:11 +02001492 * 0x0nnn = MTP
Linus Walleijfd3362e2012-08-19 18:38:43 +02001493 * 0x4nnn = MTP + UMS (for CD-ROM)
1494 * 0x5nnn = MTP + ADB
1495 * 0x6nnn = UMS + ADB
1496 * 0x7nnn = MTP + CDC
1497 * 0x8nnn = MTP + CDC + ADB
Linus Walleijd8992bb2012-09-16 22:06:18 +02001498 * 0xannn = MTP + UMS (MTP for eMMC and UMS for external SD card)
1499 * 0xbnnn = MTP + UMS + ADB
Linus Walleijfd3362e2012-08-19 18:38:43 +02001500 * 0xennn = UMS only
Linus Walleij0ece1042012-06-29 00:46:11 +02001501 *
Linus Walleijd8992bb2012-09-16 22:06:18 +02001502 * The SonyEricsson and SONY devices have (at least) two deployed MTP
Linus Walleije68bf942012-08-19 18:42:37 +02001503 * stacks: Aricent and Android. These have different bug flags, and
1504 * sometimes the same device has firmware upgrades moving it from
1505 * the Aricent to Android MTP stack without changing the device
1506 * VID+PID (first observed on the SK17i Xperia Mini Pro), so the
1507 * detection has to be more elaborate. The code in libmtp.c will do
1508 * this and assign the proper bug flags (hopefully).
1509 * That is why DEVICE_FLAG_NONE is used for these devices.
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001510 *
1511 * Devices reported by:
Linus Walleijd8992bb2012-09-16 22:06:18 +02001512 * Sony Mobile Communications (via Toby Collett)
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001513 * Jonas Salling
1514 * Eamonn Webster <eweb@users.sourceforge.net>
1515 * Alejandro DC <Alejandro_DC@users.sourceforge.ne>
1516 * StehpanKa <stehp@users.sourceforge.net>
1517 * hdhoang <hdhoang@users.sourceforge.net>
1518 * Paul Taylor
1519 * Bruno Basilio <bbasilio@users.sourceforge.net>
1520 * Christoffer Holmstedt <christofferh@users.sourceforge.net>
1521 * equaeghe <equaeghe@users.sourceforge.net>
1522 * Ondra Lengal
1523 * Michael K. <kmike@users.sourceforge.net>
1524 * Jean-François B. <changi67@users.sourceforge.net>
1525 * Eduard Bloch <blade@debian.org>
1526 * Ah Hong <hongster@users.sourceforge.net>
Linus Walleij318f7c42012-12-26 11:50:38 +01001527 * Eowyn Carter
Linus Walleij0ece1042012-06-29 00:46:11 +02001528 */
Linus Walleijd8992bb2012-09-16 22:06:18 +02001529 { "SonyEricsson", 0x0fce, "LT15i Xperia arc S MTP", 0x014f,
Linus Walleijfd3362e2012-08-19 18:38:43 +02001530 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001531 { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP", 0x0156,
Linus Walleij4c570a92012-07-17 22:33:58 +02001532 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001533 { "SonyEricsson", 0x0fce, "MK16i Xperia MTP", 0x015a,
Linus Walleij4c570a92012-07-17 22:33:58 +02001534 DEVICE_FLAG_NONE },
Linus Walleij3c4668d2012-09-20 21:12:07 +02001535 { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP", 0x015d,
1536 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001537 { "SonyEricsson", 0x0fce, "ST18a Xperia Ray MTP", 0x0161,
Linus Walleij4c570a92012-07-17 22:33:58 +02001538 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001539 { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP", 0x0166,
Linus Walleij4c570a92012-07-17 22:33:58 +02001540 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001541 { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP", 0x0167,
Linus Walleij4c570a92012-07-17 22:33:58 +02001542 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001543 { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP", 0x0168,
Linus Walleija53cd882012-09-02 17:31:57 +02001544 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001545 { "SONY", 0x0fce, "LT26i Xperia S MTP", 0x0169,
Linus Walleijfd3362e2012-08-19 18:38:43 +02001546 DEVICE_FLAG_NO_ZERO_READS },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001547 { "SONY", 0x0fce, "WT19i Live Walkman MTP", 0x016d,
Linus Walleijeeb21c82012-08-18 20:13:34 +02001548 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001549 { "SONY", 0x0fce, "ST21i Xperia Tipo MTP", 0x0170,
Linus Walleijfb807262012-08-18 22:31:45 +02001550 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001551 { "SONY", 0x0fce, "ST15i Xperia U MTP", 0x0171,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001552 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001553 { "SONY", 0x0fce, "LT22i Xperia P MTP", 0x0172,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001554 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001555 { "SONY", 0x0fce, "MT27i Xperia Sola MTP", 0x0173,
1556 DEVICE_FLAG_NONE },
1557 { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP", 0x0175,
1558 DEVICE_FLAG_NONE },
1559 { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP", 0x0176,
1560 DEVICE_FLAG_NONE },
1561 { "SONY", 0x0fce, "LT28at Xperia Ion MTP", 0x0177,
1562 DEVICE_FLAG_NONE },
1563 { "SONY", 0x0fce, "LT29i Xperia GX MTP", 0x0178,
1564 DEVICE_FLAG_NONE },
1565 { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP", 0x017e,
1566 DEVICE_FLAG_NONE },
Linus Walleij6e963162013-01-02 00:12:19 +01001567 { "SONY", 0x0fce, "ST23i Xperia Miro MTP", 0x0180,
1568 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001569 { "SONY", 0x0fce, "SO-05D Xperia SX MTP", 0x0181,
1570 DEVICE_FLAG_NONE },
1571 { "SONY", 0x0fce, "LT30p Xperia T MTP", 0x0182,
1572 DEVICE_FLAG_NONE },
1573 { "SONY", 0x0fce, "LT25i Xperia V MTP", 0x0186,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001574 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001575 { "SONY", 0x0fce, "Xperia J MTP", 0x0188,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001576 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001577 { "SONY", 0x0fce, "Xperia ZL MTP", 0x0189,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001578 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001579 { "SONY", 0x0fce, "Xperia E MTP", 0x018c,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001580 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001581 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x018D,
1582 DEVICE_FLAG_NONE },
1583 { "SONY", 0x0fce, "Xperia Z MTP", 0x0193,
1584 DEVICE_FLAG_NONE },
1585 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x0194,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001586 DEVICE_FLAG_NONE },
Linus Walleijfd3362e2012-08-19 18:38:43 +02001587
Linus Walleij0ece1042012-06-29 00:46:11 +02001588 /*
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001589 * MTP+UMS personalities of MTP devices (see above)
Linus Walleij0ece1042012-06-29 00:46:11 +02001590 */
Linus Walleijd8992bb2012-09-16 22:06:18 +02001591 { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+CDROM", 0x4168,
Linus Walleija53cd882012-09-02 17:31:57 +02001592 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001593 { "SONY", 0x0fce, "LT26i Xperia S MTP+CDROM", 0x4169,
Linus Walleijfd3362e2012-08-19 18:38:43 +02001594 DEVICE_FLAG_NO_ZERO_READS },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001595 { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+CDROM", 0x4170,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001596 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001597 { "SONY", 0x0fce, "ST25i Xperia U MTP+CDROM", 0x4171,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001598 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001599 { "SONY", 0x0fce, "LT22i Xperia P MTP+CDROM", 0x4172,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001600 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001601 { "SONY", 0x0fce, "MT27i Xperia Sola MTP+CDROM", 0x4173,
1602 DEVICE_FLAG_NONE },
1603 { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP+CDROM", 0x4175,
1604 DEVICE_FLAG_NONE },
1605 { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP+CDROM", 0x4176,
1606 DEVICE_FLAG_NONE },
1607 { "SONY", 0x0fce, "LT28at Xperia Ion MTP+CDROM", 0x4177,
1608 DEVICE_FLAG_NONE },
1609 { "SONY", 0x0fce, "LT29i Xperia GX MTP+CDROM", 0x4178,
1610 DEVICE_FLAG_NONE },
1611 { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+CDROM", 0x417e,
1612 DEVICE_FLAG_NONE },
Linus Walleij6e963162013-01-02 00:12:19 +01001613 { "SONY", 0x0fce, "ST23i Xperia Miro MTP+CDROM", 0x4180,
1614 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001615 { "SONY", 0x0fce, "SO-05D Xperia SX MTP+CDROM", 0x4181,
1616 DEVICE_FLAG_NONE },
1617 { "SONY", 0x0fce, "LT30p Xperia T MTP+CDROM", 0x4182,
1618 DEVICE_FLAG_NONE },
1619 { "SONY", 0x0fce, "LT25i Xperia V MTP+CDROM", 0x4186,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001620 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001621 { "SONY", 0x0fce, "Xperia J MTP+CDROM", 0x4188,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001622 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001623 { "SONY", 0x0fce, "Xperia ZL MTP", 0x4189,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001624 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001625 { "SONY", 0x0fce, "Xperia E MTP+CDROM", 0x418c,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001626 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001627 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x418d,
1628 DEVICE_FLAG_NONE },
1629 { "SONY", 0x0fce, "Xperia Z MTP", 0x4193,
1630 DEVICE_FLAG_NONE },
1631 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x4194,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001632 DEVICE_FLAG_NONE },
Linus Walleij7237d6a2012-08-18 22:50:21 +02001633
Linus Walleij0ece1042012-06-29 00:46:11 +02001634 /*
1635 * MTP+ADB personalities of MTP devices (see above)
1636 */
Linus Walleijd8992bb2012-09-16 22:06:18 +02001637 { "SonyEricsson", 0x0fce, "LT15i Xperia Arc MTP+ADB", 0x514f,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001638 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001639 { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP+ADB", 0x5156,
Linus Walleij4c570a92012-07-17 22:33:58 +02001640 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001641 { "SonyEricsson", 0x0fce, "MK16i Xperia MTP+ADB", 0x515a,
Linus Walleij4c570a92012-07-17 22:33:58 +02001642 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001643 { "SonyEricsson", 0x0fce, "ST18i Xperia Ray MTP+ADB", 0x5161,
Linus Walleij4c570a92012-07-17 22:33:58 +02001644 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001645 { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x5166,
Linus Walleij4c570a92012-07-17 22:33:58 +02001646 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001647 { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP+ADB", 0x5167,
Linus Walleij4c570a92012-07-17 22:33:58 +02001648 DEVICE_FLAG_NONE },
Linus Walleij33c7b502012-11-13 23:09:23 +01001649 { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+ADB", 0x5168,
Linus Walleijfb807262012-08-18 22:31:45 +02001650 DEVICE_FLAG_NONE },
Linus Walleij33c7b502012-11-13 23:09:23 +01001651 { "SONY", 0x0fce, "LT26i Xperia S MTP+ADB", 0x5169,
1652 DEVICE_FLAG_NO_ZERO_READS },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001653 { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x516d,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001654 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001655 { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+ADB", 0x5170,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001656 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001657 { "SONY", 0x0fce, "ST25i Xperia U MTP+ADB", 0x5171,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001658 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001659 { "SONY", 0x0fce, "LT22i Xperia P MTP+ADB", 0x5172,
1660 DEVICE_FLAG_NONE },
1661 { "SONY", 0x0fce, "MT27i Xperia Sola MTP+ADB", 0x5173,
1662 DEVICE_FLAG_NONE },
1663 { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+ADB", 0x5175,
1664 DEVICE_FLAG_NONE },
1665 { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+ADB", 0x5176,
1666 DEVICE_FLAG_NONE },
1667 { "SONY", 0x0fce, "LT28at Xperia Ion MTP+ADB", 0x5177,
1668 DEVICE_FLAG_NONE },
1669 { "SONY", 0x0fce, "LT29i Xperia GX MTP+ADB", 0x5178,
1670 DEVICE_FLAG_NONE },
1671 { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+ADB", 0x517e,
1672 DEVICE_FLAG_NONE },
Linus Walleij6e963162013-01-02 00:12:19 +01001673 { "SONY", 0x0fce, "ST23i Xperia Miro MTP+ADB", 0x5180,
1674 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001675 { "SONY", 0x0fce, "SO-05D Xperia SX MTP+ADB", 0x5181,
1676 DEVICE_FLAG_NONE },
1677 { "SONY", 0x0fce, "LT30p Xperia T MTP+ADB", 0x5182,
1678 DEVICE_FLAG_NONE },
1679 { "SONY", 0x0fce, "LT25i Xperia V MTP+ADB", 0x5186,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001680 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001681 { "SONY", 0x0fce, "Xperia J MTP+ADB", 0x5188,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001682 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001683 { "SONY", 0x0fce, "Xperia ZL MTP", 0x5189,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001684 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001685 { "SONY", 0x0fce, "Xperia E MTP+ADB", 0x518c,
Toby Collettd6f18bb2012-12-26 12:12:40 +01001686 DEVICE_FLAG_NONE },
Toby Collett5a5f8fe2013-02-26 09:12:13 +01001687 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x518d,
1688 DEVICE_FLAG_NONE },
1689 { "SONY", 0x0fce, "Xperia Z MTP", 0x5193,
1690 DEVICE_FLAG_NONE },
1691 { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x5194,
Toby Collett6e1ae3e2013-01-08 10:08:43 +01001692 DEVICE_FLAG_NONE },
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001693
1694 /*
Linus Walleijd8992bb2012-09-16 22:06:18 +02001695 * MTP+UMS modes
1696 * This mode is for using MTP on the internal storage (eMMC)
1697 * and using UMS (Mass Storage Device Class) on the external
1698 * SD card
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001699 */
Linus Walleijd8992bb2012-09-16 22:06:18 +02001700 { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS", 0xa173,
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001701 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001702 { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+UMS", 0xa175,
Linus Walleij7237d6a2012-08-18 22:50:21 +02001703 DEVICE_FLAG_NONE },
Linus Walleijd8992bb2012-09-16 22:06:18 +02001704 { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+UMS", 0xa176,
1705 DEVICE_FLAG_NONE },
1706 { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS", 0xa177,
1707 DEVICE_FLAG_NONE },
1708 { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS", 0xa17e,
1709 DEVICE_FLAG_NONE },
1710
1711 /*
1712 * MTP+UMS+ADB modes
1713 * Like the above, but also ADB
1714 */
1715 { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS+ADB", 0xb173,
1716 DEVICE_FLAG_NONE },
1717 { "SONY", 0x0fce, "IS12S Xperia Acro MTP+UMS+ADB", 0xb175,
1718 DEVICE_FLAG_NONE },
1719 { "SONY", 0x0fce, "SO-03D Xperia Acro MTP+UMS+ADB", 0xb176,
1720 DEVICE_FLAG_NONE },
1721 { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS+ADB", 0xb177,
1722 DEVICE_FLAG_NONE },
1723 { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS+ADB", 0xb17e,
1724 DEVICE_FLAG_NONE },
1725
Linus Walleije7ab9482009-07-23 23:50:51 +00001726
Linus Walleijaa6b0192007-10-29 23:39:48 +00001727 /*
Linus Walleij1a673de2007-10-29 23:10:05 +00001728 * Motorola
1729 * Assume DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST on all of these.
1730 */
Linus Walleij37c21662008-05-16 21:16:01 +00001731 // Reported by David Boyd <tiggrdave@users.sourceforge.net>
Linus Walleij351df602010-04-04 23:16:42 +00001732 { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65,
1733 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
1734 DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleijbbbde1b2013-03-05 11:20:40 +01001735 { "Motorola", 0x22b8, "Atrix/Razr HD (MTP)", 0x2e32,
1736 DEVICE_FLAGS_ANDROID_BUGS },
1737 { "Motorola", 0x22b8, "Atrix/Razr HD (MTP+ADB)", 0x2e33,
Linus Walleij9c9f92e2012-10-20 21:42:01 +02001738 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij33c7b502012-11-13 23:09:23 +01001739 { "Motorola", 0x22b8, "RAZR M (XT907)", 0x2e51,
1740 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij375d01f2012-05-02 10:09:13 +02001741 // Reported by Jader Rodrigues Simoes <jadersimoes@users.sourceforge.net>
1742 { "Motorola", 0x22b8, "Xoom 2 Media Edition (ID2)", 0x41cf,
1743 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij7de3a292010-08-20 22:29:22 +00001744 // Reported by Steven Roemen <sdroemen@users.sourceforge.net>
Linus Walleij4de35d72011-05-25 00:54:47 +02001745 { "Motorola", 0x22b8, "Droid X/MB525 (Defy)", 0x41d6,
Linus Walleij7de3a292010-08-20 22:29:22 +00001746 DEVICE_FLAG_NONE },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001747 { "Motorola", 0x22b8, "DROID2 (ID1)", 0x41da,
1748 DEVICE_FLAG_NONE },
Linus Walleij351df602010-04-04 23:16:42 +00001749 { "Motorola", 0x22b8, "Milestone / Verizon Droid", 0x41dc,
Linus Walleij375d01f2012-05-02 10:09:13 +02001750 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001751 { "Motorola", 0x22b8, "DROID2 (ID2)", 0x42a7,
Linus Walleij375d01f2012-05-02 10:09:13 +02001752 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijaa43ff72012-01-06 17:58:25 +01001753 { "Motorola", 0x22b8, "Xoom 2 Media Edition", 0x4311,
Linus Walleij375d01f2012-05-02 10:09:13 +02001754 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij7237d6a2012-08-18 22:50:21 +02001755 // Reported by B,H,Kissinger <mrkissinger@users.sourceforge.net>
1756 { "Motorola", 0x22b8, "XT912/XT928", 0x4362,
Linus Walleijf9b50b42012-07-17 23:30:48 +02001757 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001758 // Reported by Lundgren <alundgren@users.sourceforge.net>
1759 { "Motorola", 0x22b8, "DROID4", 0x437f,
1760 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij1a673de2007-10-29 23:10:05 +00001761 // Reported by Marcus Meissner to libptp2
Linus Walleij5000cb52011-11-03 16:30:16 +01001762 { "Motorola", 0x22b8, "IdeaPad K1", 0x4811,
1763 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +00001764 // Reported by Hans-Joachim Baader <hjb@pro-linux.de> to libptp2
Linus Walleij351df602010-04-04 23:16:42 +00001765 { "Motorola", 0x22b8, "A1200", 0x60ca,
1766 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
Linus Walleijf0702982008-10-25 21:37:43 +00001767 // http://mark.cdmaforums.com/Files/Motdmmtp.inf
Linus Walleij351df602010-04-04 23:16:42 +00001768 { "Motorola", 0x22b8, "MTP Test Command Interface", 0x6413,
1769 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
Linus Walleij1a673de2007-10-29 23:10:05 +00001770 // Reported by anonymous user
Linus Walleij351df602010-04-04 23:16:42 +00001771 { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415,
1772 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
Linus Walleije2ff7ff2013-02-24 22:51:07 +01001773 // Reported by Brian Dolbec <dol-sen@users.sourceforge.net>
1774 { "Motorola", 0x22b8, "Atrix MB860 (MTP)", 0x7088,
1775 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001776 /*
1777 * Motorola Xoom (Wingray) variants
1778 *
1779 * These devices seem to use these product IDs simulatenously
1780 * https://code.google.com/p/android-source-browsing/source/browse/init.stingray.usb.rc?repo=device--moto--wingray
1781 *
1782 * 0x70a3 - Factory test - reported as early MTP ID
1783 * 0x70a8 - MTP
1784 * 0x70a9 - MTP+ADB
1785 * 0x70ae - RNDIS
1786 * 0x70af - RNDIS+ADB
1787 * 0x70b0 - ACM
1788 * 0x70b1 - ACM+ADB
1789 * 0x70b2 - ACM+RNDIS
1790 * 0x70b3 - ACM+RNDIS+ADB
1791 * 0x70b4 - PTP
1792 * 0x70b5 - PTP+ADB
1793 *
1794 * Reported by Google Inc's Yavor Goulishev <yavor@google.com>
1795 */
1796 { "Motorola", 0x22b8, "Xoom (Factory test)", 0x70a3,
Linus Walleijc243c0b2012-09-02 17:22:07 +02001797 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001798 { "Motorola", 0x22b8, "Xoom (MTP)", 0x70a8,
Linus Walleijc243c0b2012-09-02 17:22:07 +02001799 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001800 { "Motorola", 0x22b8, "Xoom (MTP+ADB)", 0x70a9,
Linus Walleijc243c0b2012-09-02 17:22:07 +02001801 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij14cee672012-01-06 12:54:47 +01001802 // "carried by C Spire and other CDMA US carriers"
Linus Walleij33c7b502012-11-13 23:09:23 +01001803 { "Motorola", 0x22b8, "Milestone X2", 0x70ca,
1804 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij52e43e22013-02-24 23:25:20 +01001805 { "Motorola", 0x22b8, "XT890/907 (MTP)", 0x710d,
1806 DEVICE_FLAGS_ANDROID_BUGS },
1807 { "Motorola", 0x22b8, "XT890/907 (MTP+ADB)", 0x710e,
1808 DEVICE_FLAGS_ANDROID_BUGS },
1809 { "Motorola", 0x22b8, "XT890/907 (MTP+?)", 0x710f,
Linus Walleij33c7b502012-11-13 23:09:23 +01001810 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij36463172011-09-29 22:48:51 +02001811
1812 /*
1813 * Google
1814 * These guys lend their Vendor ID to anyone who comes down the
1815 * road to produce an Android tablet it seems... The Vendor ID
1816 * was originally used for Nexus phones
1817 */
Linus Walleij0626a1c2013-01-01 23:17:55 +01001818 { "Google Inc (for Ainol Novo)", 0x18d1, "Fire/Flame", 0x0007,
1819 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij36463172011-09-29 22:48:51 +02001820 { "Google Inc (for Sony)", 0x18d1, "S1", 0x05b3,
Linus Walleij03f0c032011-10-22 00:01:14 +02001821 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij14cee672012-01-06 12:54:47 +01001822 // Reported by anonymous Sourceforge user
Linus Walleijbc62ee12012-01-21 23:49:44 +01001823 { "Google Inc (for Barnes & Noble)", 0x18d1, "Nook Color", 0x2d02,
1824 DEVICE_FLAGS_ANDROID_BUGS },
1825 // Reported by anonymous Sourceforge user
Linus Walleij33c7b502012-11-13 23:09:23 +01001826 { "Google Inc (for Asus)", 0x18d1, "TF201 Transformer", 0x4d00,
1827 DEVICE_FLAGS_ANDROID_BUGS },
1828 // Reported by anonymous Sourceforge user
Linus Walleij14cee672012-01-06 12:54:47 +01001829 { "Google Inc (for Asus)", 0x18d1, "TF101 Transformer", 0x4e0f,
1830 DEVICE_FLAGS_ANDROID_BUGS },
Lei Zhangaeed2812013-02-13 15:14:28 -08001831 // 0x4e21 (Nexus S) is a USB Mass Storage device.
Linus Walleij03f04da2012-07-19 00:07:17 +02001832 // Reported by Chris Smith <tcgsmythe@users.sourceforge.net>
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001833 { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP)", 0x4e41,
Linus Walleij1c1f5ec2012-07-30 11:10:02 +02001834 DEVICE_FLAGS_ANDROID_BUGS },
1835 // Reported by Michael Hess <mhess126@gmail.com>
Linus Walleijb86fb1a2012-09-11 23:03:07 +02001836 { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP+ADB)", 0x4e42,
Linus Walleij03f04da2012-07-19 00:07:17 +02001837 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij57e4a4a2013-01-01 22:57:16 +01001838 { "Google Inc (for LG Electronics/Samsung)", 0x18d1,
1839 "Nexus 4/10 (MTP)", 0x4ee1,
Linus Walleija0957022012-12-26 12:08:38 +01001840 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij57e4a4a2013-01-01 22:57:16 +01001841 { "Google Inc (for LG Electronics/Samsung)", 0x18d1,
1842 "Nexus 4/10 (MTP+ADB)", 0x4ee2,
Linus Walleij26a56a02012-12-26 12:05:47 +01001843 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij36463172011-09-29 22:48:51 +02001844 // WiFi-only version of Xoom
1845 // See: http://bugzilla.gnome.org/show_bug.cgi?id=647506
1846 { "Google Inc (for Motorola)", 0x18d1, "Xoom (MZ604)", 0x70a8,
Linus Walleij03f0c032011-10-22 00:01:14 +02001847 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij8d2fdef2012-03-30 06:43:37 +02001848 { "Google Inc (for Toshiba)", 0x18d1, "Thrive 7/AT105", 0x7102,
Linus Walleij3244fd72012-02-22 03:58:23 +01001849 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij4fbd62a2012-04-03 01:07:45 +02001850 { "Google Inc (for Lenovo)", 0x18d1, "Ideapad K1", 0x740a,
1851 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij14cee672012-01-06 12:54:47 +01001852 // Another OEM for Medion
1853 { "Google Inc (for Medion)", 0x18d1, "MD99000 (P9514)", 0xb00a,
1854 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij48725402012-04-08 00:52:35 +02001855 // Reported by Frederik Himpe <fhimpe@telenet.be>
1856 { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus (Cyanogen)",
1857 0xd109, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij56795122012-04-02 18:32:04 +02001858 { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus", 0xd10a,
1859 DEVICE_FLAGS_ANDROID_BUGS },
1860
Linus Walleij14cee672012-01-06 12:54:47 +01001861
Linus Walleij1a673de2007-10-29 23:10:05 +00001862 /*
Linus Walleij478ddb92007-11-26 21:01:29 +00001863 * Media Keg
1864 */
1865 // Reported by Rajan Bella <rajanbella@yahoo.com>
1866 { "Kenwood", 0x0b28, "Media Keg HD10GB7 Sport Player", 0x100c, DEVICE_FLAG_UNLOAD_DRIVER},
1867
Linus Walleij5d675112008-02-16 21:46:46 +00001868 /*
1869 * Micro-Star International (MSI)
1870 */
1871 // Reported by anonymous sourceforge user.
1872 { "Micro-Star International", 0x0db0, "P610/Model MS-5557", 0x5572, DEVICE_FLAG_NONE },
1873
Linus Walleijf044aa12008-03-22 21:45:19 +00001874 /*
1875 * FOMA
1876 */
1877 { "FOMA", 0x06d3, "D905i", 0x21ba, DEVICE_FLAG_NONE },
Linus Walleij166c8ff2008-01-14 23:15:08 +00001878
Linus Walleij478ddb92007-11-26 21:01:29 +00001879 /*
Linus Walleijb5a4f922008-05-11 20:15:00 +00001880 * Haier
1881 */
1882 // Both reported by an anonymous SourceForge user
1883 // This is the 30 GiB model
1884 { "Haier", 0x1302, "Ibiza Rhapsody", 0x1016, DEVICE_FLAG_NONE },
1885 // This is the 4/8 GiB model
1886 { "Haier", 0x1302, "Ibiza Rhapsody", 0x1017, DEVICE_FLAG_NONE },
Linus Walleij5e44ed52010-01-30 08:06:11 +00001887
Richard Low4d93a992008-09-07 12:52:14 +00001888 /*
1889 * Panasonic
1890 */
1891 // Reported by dmizer
1892 { "Panasonic", 0x04da, "P905i", 0x2145, DEVICE_FLAG_NONE },
Linus Walleij5e44ed52010-01-30 08:06:11 +00001893 // Reported by Taku
1894 { "Panasonic", 0x04da, "P906i", 0x2158, DEVICE_FLAG_NONE },
Linus Walleijb5a4f922008-05-11 20:15:00 +00001895
1896 /*
Linus Walleij80a2a692008-12-05 20:36:40 +00001897 * Polaroid
1898 */
1899 { "Polaroid", 0x0546, "Freescape/MPU-433158", 0x2035, DEVICE_FLAG_NONE },
1900
1901 /*
Linus Walleij2242b022009-01-02 01:44:00 +00001902 * Pioneer
1903 */
1904 // Reported by Dan Allen <dan.j.allen@gmail.com>
1905 { "Pioneer", 0x08e4, "XMP3", 0x0148, DEVICE_FLAG_NONE },
1906
1907 /*
Linus Walleij4096c882009-03-16 23:32:34 +00001908 * Slacker Inc.
1909 * Put in all evilness flags because it looks fragile.
1910 */
1911 // Reported by Pug Fantus <pugfantus@users.sourceforge.net>
1912 { "Slacker Inc.", 0x1bdc, "Slacker Portable Media Player", 0xfabf,
1913 DEVICE_FLAG_BROKEN_BATTERY_LEVEL | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1914 DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
1915
Linus Walleijbac1eed2011-02-04 23:55:19 +01001916 // Reported by anonymous user
1917 { "Conceptronic", 0x1e53, "CMTD2", 0x0005, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij6e3997e2009-04-12 23:40:40 +00001918 // Reported by Demadridsur <demadridsur@gmail.com>
1919 { "O2 Sistemas", 0x1e53, "ZoltarTV", 0x0006, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij2f082452010-09-02 18:57:30 +00001920 // Reported by da-beat <dabeat@gmail.com>
1921 { "Wyplay", 0x1e53, "Wyplayer", 0x0007, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
Linus Walleij6e3997e2009-04-12 23:40:40 +00001922
Linus Walleij6fb9a5f2009-09-12 06:25:17 +00001923 // Reported by Sense Hofstede <qense@users.sourceforge.net>
1924 { "Perception Digital, Ltd", 0x0aa6, "Gigaware GX400", 0x9702, DEVICE_FLAG_NONE },
Linus Walleij5f3c44b2009-09-12 21:03:06 +00001925
1926 /*
Linus Walleijc18f1aa2010-01-19 00:19:12 +00001927 * RIM's BlackBerry
Linus Walleij5f3c44b2009-09-12 21:03:06 +00001928 */
1929 // Reported by Nicolas VIVIEN <nicolas@vivien.fr>
Linus Walleij84559e82010-05-25 19:44:09 +00001930 { "RIM", 0x0fca, "BlackBerry Storm/9650", 0x8007, DEVICE_FLAG_UNLOAD_DRIVER |
Linus Walleijcea83ff2009-09-25 21:44:38 +00001931 DEVICE_FLAG_SWITCH_MODE_BLACKBERRY | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
Linus Walleij5f3c44b2009-09-12 21:03:06 +00001932
Linus Walleij4096c882009-03-16 23:32:34 +00001933 /*
Linus Walleij99d390e2010-01-19 01:17:39 +00001934 * Nextar
1935 */
Linus Walleij6d0a5122010-08-20 22:40:35 +00001936 { "Nextar", 0x0402, "MA715A-8R", 0x5668, DEVICE_FLAG_NONE },
Linus Walleijbd0347e2010-08-20 22:17:13 +00001937
1938 /*
1939 * Coby
1940 */
Linus Walleij6d0a5122010-08-20 22:40:35 +00001941 { "Coby", 0x1e74, "COBY MP705", 0x6512, DEVICE_FLAG_NONE },
Linus Walleijbd0347e2010-08-20 22:17:13 +00001942
Richard Low3c9366e2010-06-19 11:12:46 +00001943 /*
1944 * Apple devices, which are not MTP natively but can be made to speak MTP
1945 * using PwnTunes (http://www.pwntunes.net/)
1946 */
Linus Walleij6d0a5122010-08-20 22:40:35 +00001947 { "Apple", 0x05ac, "iPhone", 0x1290, DEVICE_FLAG_NONE },
1948 { "Apple", 0x05ac, "iPod Touch 1st Gen", 0x1291, DEVICE_FLAG_NONE },
1949 { "Apple", 0x05ac, "iPhone 3G", 0x1292, DEVICE_FLAG_NONE },
1950 { "Apple", 0x05ac, "iPod Touch 2nd Gen", 0x1293, DEVICE_FLAG_NONE },
1951 { "Apple", 0x05ac, "iPhone 3GS", 0x1294, DEVICE_FLAG_NONE },
1952 { "Apple", 0x05ac, "0x1296", 0x1296, DEVICE_FLAG_NONE },
1953 { "Apple", 0x05ac, "0x1297", 0x1297, DEVICE_FLAG_NONE },
1954 { "Apple", 0x05ac, "0x1298", 0x1298, DEVICE_FLAG_NONE },
1955 { "Apple", 0x05ac, "iPod Touch 3rd Gen", 0x1299, DEVICE_FLAG_NONE },
1956 { "Apple", 0x05ac, "iPad", 0x129a, DEVICE_FLAG_NONE },
Linus Walleij99d390e2010-01-19 01:17:39 +00001957
Linus Walleij4de35d72011-05-25 00:54:47 +02001958 // Reported by anonymous SourceForge user, also reported as
1959 // Pantech Crux, claming to be:
1960 // Manufacturer: Qualcomm
1961 // Model: Windows Simulator
1962 // Device version: Qualcomm MTP1.0
Linus Walleij1753a6c2011-02-11 18:46:08 +01001963 { "Curitel Communications, Inc.", 0x106c,
1964 "Verizon Wireless Device", 0x3215, DEVICE_FLAG_NONE },
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001965 // Reported by: Jim Hanrahan <goshawkjim@users.sourceforge.net>
1966 { "Pantech", 0x106c, "Crux", 0xf003, DEVICE_FLAG_NONE },
1967
1968 /*
1969 * Asus
Linus Walleijee23a4a2012-11-14 00:39:19 +01001970 * Pattern of PIDs on Android devices seem to be:
1971 * n+0 = MTP
1972 * n+1 = MTP+ADB
1973 * n+2 = ?
1974 * n+3 = ?
1975 * n+4 = PTP
Linus Walleij8f86b0e2011-05-27 00:05:55 +02001976 */
Linus Walleij3b1d97e2012-06-06 09:49:03 +02001977 // Reported by Glen Overby
Linus Walleijee23a4a2012-11-14 00:39:19 +01001978 { "Asus", 0x0b05, "TF300 Transformer (MTP)", 0x4c80,
Linus Walleij3b1d97e2012-06-06 09:49:03 +02001979 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijab24d172012-06-28 00:31:11 +02001980 // Reported by jaile <jaile@users.sourceforge.net>
Linus Walleijee23a4a2012-11-14 00:39:19 +01001981 { "Asus", 0x0b05, "TF300 Transformer (MTP+ADB)", 0x4c81,
Linus Walleijab24d172012-06-28 00:31:11 +02001982 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijcb7cbd32012-09-12 23:48:32 +02001983 // Repored by Florian Apolloner <f-apolloner@users.sourceforge.net>
Linus Walleijee23a4a2012-11-14 00:39:19 +01001984 { "Asus", 0x0b05, "TF700 Transformer (MTP)", 0x4c90,
Linus Walleij4d742a12012-09-11 23:14:37 +02001985 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001986 { "Asus", 0x0b05, "TF700 Transformer (MTP+ADB)", 0x4c91,
1987 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6e50b1b2012-01-11 07:50:52 +01001988 { "Asus", 0x0b05, "TF201 Transformer Prime (keyboard dock)", 0x4d00,
Linus Walleij475e8802012-01-06 17:40:12 +01001989 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6e50b1b2012-01-11 07:50:52 +01001990 { "Asus", 0x0b05, "TF201 Transformer Prime (tablet only)", 0x4d01,
Linus Walleij475e8802012-01-06 17:40:12 +01001991 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001992 // 4d04 is the PTP mode, don't add it
1993 { "Asus", 0x0b05, "SL101 (MTP)", 0x4e00,
Linus Walleij2c7bcc72012-03-30 22:47:28 +02001994 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001995 { "Asus", 0x0b05, "SL101 (MTP+ADB)", 0x4e01,
Linus Walleij34bb9c22012-06-28 23:51:44 +02001996 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001997 { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP)", 0x4e0f,
Linus Walleijc575c172011-11-10 00:49:17 +01001998 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijee23a4a2012-11-14 00:39:19 +01001999 { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP+ADB)", 0x4e1f,
2000 DEVICE_FLAGS_ANDROID_BUGS },
2001 { "Asus", 0x0b05, "PadFone (MTP)", 0x5200,
2002 DEVICE_FLAGS_ANDROID_BUGS },
2003 { "Asus", 0x0b05, "PadFone (MTP+ADB)", 0x5201,
Linus Walleijc575c172011-11-10 00:49:17 +01002004 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16a47dc2013-01-01 22:44:59 +01002005 { "Asus", 0x0b05, "PadFone 2 (MTP)", 0x5211,
2006 DEVICE_FLAGS_ANDROID_BUGS },
2007
Linus Walleij1753a6c2011-02-11 18:46:08 +01002008
Linus Walleij16466ec2011-10-04 22:00:54 +02002009
2010 /*
2011 * Lenovo
2012 */
Linus Walleijb3f3dd32011-10-31 11:38:54 +01002013 // Reported by Richard Körber <shredzone@users.sourceforge.net>
2014 { "Lenovo", 0x17ef, "K1", 0x740a,
2015 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16466ec2011-10-04 22:00:54 +02002016 // Reported by anonymous sourceforge user
2017 // Adding Android default bug flags since it appears to be an Android
Linus Walleijb3f3dd32011-10-31 11:38:54 +01002018 { "Lenovo", 0x17ef, "ThinkPad Tablet", 0x741c,
Linus Walleij03f0c032011-10-22 00:01:14 +02002019 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij4c497fa2012-09-02 17:16:35 +02002020 // Reported by: XChesser <XChesser@users.sourceforge.net>
2021 { "Lenovo", 0x17ef, "P700", 0x7497,
2022 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij092a8382012-09-11 21:56:06 +02002023 // Reported by: anonymous sourceforge user
2024 { "Lenovo", 0x17ef, "Lifetab S9512", 0x74cc,
2025 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij83a6af42013-02-24 22:37:55 +01002026 // Reported by Brian J. Murrell
2027 { "Lenovo", 0x17ef, "IdeaTab A2109A", 0x7542,
2028 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij4c497fa2012-09-02 17:16:35 +02002029
Linus Walleij16466ec2011-10-04 22:00:54 +02002030
Linus Walleij14cee672012-01-06 12:54:47 +01002031 /*
2032 * Huawei
2033 */
Linus Walleij0ac8cf22012-04-02 18:30:22 +02002034 // Reported by anonymous SourceForge user
2035 { "Huawei", 0x12d1, "Honor U8860", 0x1051, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij68f3cb62012-07-17 01:19:41 +02002036 // Reported by anonymous SourceForge user
Linus Walleij278566d2012-09-28 19:41:53 +02002037 { "Huawei", 0x12d1, "U8815", 0x1052, DEVICE_FLAGS_ANDROID_BUGS },
2038 // Reported by anonymous SourceForge user
Linus Walleij68f3cb62012-07-17 01:19:41 +02002039 { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij14cee672012-01-06 12:54:47 +01002040 // Reported by Bearsh <bearsh@users.sourceforge.net>
Linus Walleij68f3cb62012-07-17 01:19:41 +02002041 { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij94715ae2011-11-03 17:01:05 +01002042
2043 /*
2044 * ZTE
2045 * Android devices reported by junwang <lovewjlove@users.sourceforge.net>
2046 */
2047 { "ZTE", 0x19d2, "V55 ID 1", 0x0244, DEVICE_FLAGS_ANDROID_BUGS },
2048 { "ZTE", 0x19d2, "V55 ID 2", 0x0245, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16a47dc2013-01-01 22:44:59 +01002049 { "ZTE", 0x19d2, "Blade 3", 0x0306, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij94715ae2011-11-03 17:01:05 +01002050
Linus Walleij99d390e2010-01-19 01:17:39 +00002051 /*
Linus Walleijab24d172012-06-28 00:31:11 +02002052 * HTC (High Tech Computer Corp)
Linus Walleijd1ef2742012-12-28 19:04:20 +01002053 * Reporters:
2054 * Steven Eastland <grassmonk@users.sourceforge.net>
Linus Walleij749c75d2012-12-28 19:12:26 +01002055 * Kevin Cheng <kache@users.sf.net>
Linus Walleij6eabd662012-01-19 16:31:10 +01002056 */
Linus Walleija4b3c522012-10-01 22:03:59 +02002057#if 0
2058 /*
2059 * This had to be commented out - the same VID+PID is used also for
Linus Walleijee23a4a2012-11-14 00:39:19 +01002060 * other modes than MTP, so we need to let mtp-probe do its job on this
Linus Walleija4b3c522012-10-01 22:03:59 +02002061 * device instead of adding it to the database.
2062 */
Linus Walleij16dbff02012-10-02 08:21:31 +02002063 { "HTC", 0x0bb4, "Android Device ID1 (Zopo, HD2, Bird...)", 0x0c02,
Linus Walleijab24d172012-06-28 00:31:11 +02002064 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleija4b3c522012-10-01 22:03:59 +02002065#endif
Linus Walleij62117212013-01-01 23:59:35 +01002066 { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID1)", 0x0c93,
Linus Walleij9c6f0d22012-06-29 22:07:52 +02002067 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij62117212013-01-01 23:59:35 +01002068 { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID2)", 0x0ca8,
Linus Walleij746789b2012-06-28 23:24:39 +02002069 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6e963162013-01-02 00:12:19 +01002070 { "HTC", 0x0bb4, "HTC One S", 0x0df9,
2071 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijd1ef2742012-12-28 19:04:20 +01002072 { "HTC", 0x0bb4, "HTC One X (ID1)", 0x0dfb,
2073 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij52e43e22013-02-24 23:25:20 +01002074 { "HTC", 0x0bb4, "HTC Butterfly (ID1)", 0x0dfe,
2075 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij749c75d2012-12-28 19:12:26 +01002076 { "HTC", 0x0bb4, "Droid DNA (MTP+UMS+ADB)", 0x0dff,
2077 DEVICE_FLAGS_ANDROID_BUGS },
2078 { "HTC", 0x0bb4, "Droid DNA (MTP+UMS)", 0x0ebd,
2079 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijd1ef2742012-12-28 19:04:20 +01002080 { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0f91,
Linus Walleijee23a4a2012-11-14 00:39:19 +01002081 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij6eabd662012-01-19 16:31:10 +01002082 // These identify themselves as "cm_tenderloin", fun...
Linus Walleijab24d172012-06-28 00:31:11 +02002083 // Done by HTC for HP I guess.
Linus Walleij6eabd662012-01-19 16:31:10 +01002084 { "Hewlett-Packard", 0x0bb4, "HP Touchpad", 0x685c,
2085 DEVICE_FLAGS_ANDROID_BUGS },
2086 { "Hewlett-Packard", 0x0bb4, "HP Touchpad (debug mode)",
2087 0x6860, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16dbff02012-10-02 08:21:31 +02002088#if 0
Linus Walleij6c25e732012-09-29 21:20:28 +02002089 { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008,
Linus Walleij7d06a2f2012-08-18 21:24:11 +02002090 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij16dbff02012-10-02 08:21:31 +02002091#endif
Linus Walleij6eabd662012-01-19 16:31:10 +01002092
2093 /*
Linus Walleijbac4bbd2012-03-08 20:35:40 +01002094 * NEC
2095 */
2096 { "NEC", 0x0409, "FOMA N01A", 0x0242, DEVICE_FLAG_NONE },
2097
2098 /*
Linus Walleijb8e24d62012-04-03 01:19:00 +02002099 * nVidia
2100 */
2101 // Found on Internet forum
2102 { "nVidia", 0x0955, "CM9-Adam", 0x70a9, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleija73b0fd2013-03-13 21:13:37 +01002103 { "nVidia", 0x0955, "Nabi2 Tablet", 0x7100, DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleijb8e24d62012-04-03 01:19:00 +02002104
2105 /*
Linus Walleijaa5bc7a2012-05-02 10:02:37 +02002106 * Vizio
2107 */
Linus Walleij7ae062d2012-05-02 10:03:54 +02002108 // Reported by Michael Gurski <gurski@users.sourceforge.net>
Linus Walleijaa5bc7a2012-05-02 10:02:37 +02002109 { "Vizio", 0x0489, "VTAB1008", 0xe040, DEVICE_FLAGS_ANDROID_BUGS },
2110
2111 /*
Linus Walleije5ae0dc2012-09-20 19:44:38 +02002112 * Amazon
2113 */
Linus Walleijb98184f2012-12-26 11:54:53 +01002114 { "Amazon", 0x1949, "Kindle Fire (ID1)", 0x0007,
2115 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij62117212013-01-01 23:59:35 +01002116 { "Amazon", 0x1949, "Kindle Fire (ID2)", 0x0008,
2117 DEVICE_FLAGS_ANDROID_BUGS },
2118 { "Amazon", 0x1949, "Kindle Fire (ID3)", 0x000a,
Linus Walleije5ae0dc2012-09-20 19:44:38 +02002119 DEVICE_FLAGS_ANDROID_BUGS },
2120
2121 /*
Linus Walleij37b09452012-12-26 12:00:52 +01002122 * Viewpia, bq, YiFang
2123 * Seems like some multi-branded OEM product line.
Linus Walleij37e06672012-06-27 22:44:13 +02002124 */
Linus Walleij37b09452012-12-26 12:00:52 +01002125 { "Various", 0x2207, "Viewpia DR/bq Kepler", 0x0001,
2126 DEVICE_FLAGS_ANDROID_BUGS },
2127 { "YiFang", 0x2207, "BQ Tesla", 0x0006,
2128 DEVICE_FLAGS_ANDROID_BUGS },
Linus Walleij37e06672012-06-27 22:44:13 +02002129
2130 /*
Linus Walleijed6fdca2012-09-29 13:25:42 +02002131 * Kobo
2132 */
2133 // Reported by George Talusan
2134 { "Kobo", 0x2237, "Arc", 0xd108, DEVICE_FLAGS_ANDROID_BUGS },
2135
2136 /*
Linus Walleij33c7b502012-11-13 23:09:23 +01002137 * Hisense
2138 */
2139 // Reported by Anonymous SourceForge user
2140 { "Hisense", 0x109b, "E860", 0x9109, DEVICE_FLAGS_ANDROID_BUGS },
2141
2142 /*
Linus Walleij3919ba22012-12-26 11:06:46 +01002143 * Intel
2144 */
2145 { "Intel", 0x8087, "Xolo 900", 0x09fb, DEVICE_FLAGS_ANDROID_BUGS },
2146
2147 /*
Linus Walleij62117212013-01-01 23:59:35 +01002148 * Xiaomi
2149 */
2150 { "Xiaomi", 0x2717, "Mi-2", 0x9039, DEVICE_FLAGS_ANDROID_BUGS },
2151
2152 /*
Linus Walleij1a673de2007-10-29 23:10:05 +00002153 * Other strange stuff.
2154 */
2155 { "Isabella", 0x0b20, "Her Prototype", 0xddee, DEVICE_FLAG_NONE }