diff --git a/libmtp.changes b/libmtp.changes index de0caec..34ccc04 100644 --- a/libmtp.changes +++ b/libmtp.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Dec 9 12:45:01 UTC 2013 - meissner@suse.com + +- music-players.h: Updated to the device database of the current GIT level + to support more MTP devices (bnc#854328) + ------------------------------------------------------------------- Fri Sep 27 19:54:22 UTC 2013 - rmilasan@suse.com diff --git a/libmtp.spec b/libmtp.spec index 5a24b80..0b27465 100644 --- a/libmtp.spec +++ b/libmtp.spec @@ -30,6 +30,8 @@ Version: 1.1.6 Release: 0 %define sonum 9 Source0: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz +# from git 1a2669c6df6c093aec38c0c99a21438d74ccdf33 +Source1: music-players.h Patch0: mtpz-use-LIBMTP_ERROR-instead-of-LIBMTP_INFO.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d @@ -77,6 +79,7 @@ Transfer Protocol) authored by Microsoft. %prep %setup -q %patch0 -p1 +cp %{SOURCE1} src/music-players.h %build %configure --with-udev=%{_udevdir} --disable-static --enable-doxygen diff --git a/music-players.h b/music-players.h new file mode 100644 index 0000000..ff171a3 --- /dev/null +++ b/music-players.h @@ -0,0 +1,2444 @@ +/** + * \file music-players.h + * List of music players as USB ids. + * + * Copyright (C) 2005-2007 Richard A. Low + * Copyright (C) 2005-2013 Linus Walleij + * Copyright (C) 2006-2007 Marcus Meissner + * Copyright (C) 2007 Ted Bullock + * Copyright (C) 2012 Sony Mobile Communications AB + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * This file is supposed to be included within a struct from both libmtp + * and libgphoto2. + * + * Information can be harvested from Windows driver .INF files, see: + * http://msdn.microsoft.com/en-us/library/aa973606.aspx + */ +/* + * MTP device list, trying real bad to get all devices into + * this list by stealing from everyone I know. + * Some devices taken from the Rockbox device listing: + * http://www.rockbox.org/twiki/bin/view/Main/DeviceDetection + */ + + /* + * Creative Technology and ZiiLABS + * Initially the Creative devices was all we supported so these are + * the most thoroughly tested devices. Presumably only the devices + * with older firmware (the ones that have 32bit object size) will + * need the DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL flag. This bug + * manifest itself when you have a lot of folders on the device, + * some of the folders will start to disappear when getting all objects + * and properties. + */ + { "Creative", 0x041e, "ZEN Vision", 0x411f, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "Portable Media Center", 0x4123, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Xtra (MTP mode)", 0x4128, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Dell", 0x041e, "DJ (2nd generation)", 0x412f, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Micro (MTP mode)", 0x4130, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Touch (MTP mode)", 0x4131, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Dell", 0x041e, "Dell Pocket DJ (MTP mode)", 0x4132, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN MicroPhoto (alternate version)", 0x4133, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Sleek (MTP mode)", 0x4137, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN MicroPhoto", 0x413c, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Sleek Photo", 0x413d, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Vision:M", 0x413e, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by marazm@o2.pl + { "Creative", 0x041e, "ZEN V", 0x4150, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by danielw@iinet.net.au + // This version of the Vision:M needs the no release interface flag, + // unclear whether the other version above need it too or not. + { "Creative", 0x041e, "ZEN Vision:M (DVP-HD0004)", 0x4151, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by Darel on the XNJB forums + { "Creative", 0x041e, "ZEN V Plus", 0x4152, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + { "Creative", 0x041e, "ZEN Vision W", 0x4153, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Don't add 0x4155: this is a Zen Stone device which is not MTP + // Reported by Paul Kurczaba + { "Creative", 0x041e, "ZEN", 0x4157, + DEVICE_FLAG_IGNORE_HEADER_ERRORS | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by Ringofan + { "Creative", 0x041e, "ZEN V 2GB", 0x4158, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by j norment + { "Creative", 0x041e, "ZEN Mozaic", 0x4161, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by Aaron F. Gonzalez + { "Creative", 0x041e, "ZEN X-Fi", 0x4162, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by farmerstimuli + { "Creative", 0x041e, "ZEN X-Fi 3", 0x4169, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL }, + // Reported by Todor Gyumyushev + { "ZiiLABS", 0x041e, "Zii EGG", 0x6000, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + + /* + * Samsung + * We suspect that more of these are dual mode. + * We suspect more of these might need DEVICE_FLAG_NO_ZERO_READS + * We suspect more of these might need DEVICE_FLAG_PLAYLIST_SPL_V1 + * or DEVICE_FLAG_PLAYLIST_SPL_V2 to get playlists working. + * YP-NEU, YP-NDU, YP-20, YP-800, YP-MF Series, YP-100, YP-30 + * YP-700 and YP-90 are NOT MTP, but use a Samsung custom protocol. + * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg + * status. + */ + // From anonymous SourceForge user, not verified + { "Samsung", 0x04e8, "YP-900", 0x0409, DEVICE_FLAG_NONE }, + // From MItch + { "Samsung", 0x04e8, "I550W Phone", 0x04a4, DEVICE_FLAG_NONE }, + // From Manfred Enning + { "Samsung", 0x04e8, "Jet S8000", 0x4f1f, DEVICE_FLAG_NONE }, + // From Gabriel Nunes + { "Samsung", 0x04e8, "YH-920 (501d)", 0x501d, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Soren O'Neill + { "Samsung", 0x04e8, "YH-920 (5022)", 0x5022, DEVICE_FLAG_UNLOAD_DRIVER }, + // Contributed by aronvanammers on SourceForge + { "Samsung", 0x04e8, "YH-925GS", 0x5024, DEVICE_FLAG_NONE }, + // From libgphoto2, according to tests by Stephan Fabel it cannot + // get all objects with the getobjectproplist command.. + { "Samsung", 0x04e8, "YH-820", 0x502e, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // Contributed by polux2001@users.sourceforge.net + { "Samsung", 0x04e8, "YH-925(-GS)", 0x502f, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // Contributed by anonymous person on SourceForge + { "Samsung", 0x04e8, "YH-J70J", 0x5033, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From XNJB user + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-Z5", 0x503c, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // Don't add 0x5041 as this is YP-Z5 in USB mode + // Contributed by anonymous person on SourceForge + { "Samsung", 0x04e8, "YP-T7J", 0x5047, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by cstrickler@gmail.com + { "Samsung", 0x04e8, "YP-U2J (YP-U2JXB/XAA)", 0x5054, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by Andrew Benson + { "Samsung", 0x04e8, "YP-F2J", 0x5057, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Patrick + // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160 + { "Samsung", 0x04e8, "YP-K5", 0x505a, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From dev.local@gmail.com - 0x4e8/0x507c is the UMS mode, apparently + // do not add that device. + // From m.eik michalke + // This device does NOT use the special SPL playlist according to sypqgjxu@gmx.de. + { "Samsung", 0x04e8, "YP-U3", 0x507d, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by Matthew Wilcox + // Sergio reports this device need the BROKEN ALL flag. + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-T9", 0x507f, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Paul Clinch + // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160 + // Some versions of the firmware reportedly support OGG, reportedly only the + // UMS versions, so MTP+OGG is not possible on this device. + { "Samsung", 0x04e8, "YP-K3", 0x5081, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From XNJB user + // From Alistair Boyle, .spl v2 required for playlists + // According to the device log it properly supports OGG + { "Samsung", 0x04e8, "YP-P2", 0x5083, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_PLAYLIST_SPL_V2 }, + // From Paul Clinch + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-T10", 0x508a, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 | + DEVICE_FLAG_NO_ZERO_READS }, + // From Wim Verwimp + // Not sure about the Ogg and broken proplist flags here. Just guessing. + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-S5", 0x508b, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Ludovic Danigo + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-S3", 0x5091, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Adrian Levi + // Guessing on .spl flag + // This one supports OGG properly through the correct MTP type. + { "Samsung", 0x04e8, "YP-U4", 0x5093, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Chris Le Sueur + // Guessing on .spl flag + // This one supports OGG properly through the correct MTP type. + { "Samsung", 0x04e8, "YP-R1", 0x510f, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_UNIQUE_FILENAMES | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // From Anonymous SourceForge user + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-Q1", 0x5115, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Holger + { "Samsung", 0x04e8, "YP-M1", 0x5118, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_PLAYLIST_SPL_V2 }, + // From Anonymous SourceForge user + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-P3", 0x511a, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Anonymous SourceForge user + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-Q2", 0x511d, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Marco Pizzocaro + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-U5", 0x5121, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 | + DEVICE_FLAG_UNIQUE_FILENAMES | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // From Leonardo Accorsi + // Guessing on .spl flag + { "Samsung", 0x04e8, "YP-R0", 0x5125, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 | + DEVICE_FLAG_UNIQUE_FILENAMES | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // The "YP-R2" (0x04e8/0x512d) is NOT MTP, it is UMS only. + // Guessing on device flags for the MTP mode... + { "Samsung", 0x04e8, "YP-R2", 0x512e, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_UNIQUE_FILENAMES | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From Manuel Carro + // Copied from Q2 + { "Samsung", 0x04e8, "YP-Q3", 0x5130, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // Reported by: traaf + // Guessing on the playlist type! + // Appears to present itself properly as a PTP device with MTP extensions! + { "Samsung", 0x04e8, "YP-Z3", 0x5137, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // YP-F3 is NOT MTP - USB mass storage + // From a rouge .INF file + // this device ID seems to have been recycled for: + // the Samsung SGH-A707 Cingular cellphone + // the Samsung L760-V cellphone + // the Samsung SGH-U900 cellphone + // the Samsung Fascinate player + { "Samsung", 0x04e8, + "YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate", + 0x5a0f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From Santi Béjar - not sure this is MTP... + // { "Samsung", 0x04e8, "Z170 Mobile Phone", 0x6601, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Santi Béjar - not sure this is MTP... + // { "Samsung", 0x04e8, "E250 Mobile Phone", 0x663e, DEVICE_FLAG_UNLOAD_DRIVER }, + // From an anonymous SF user + { "Samsung", 0x04e8, "M7600 Beat/GT-S8300T/SGH-F490/S8300", 0x6642, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_BROKEN_BATTERY_LEVEL }, + // From Lionel Bouton + { "Samsung", 0x04e8, "X830 Mobile Phone", 0x6702, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From James + { "Samsung", 0x04e8, "U600 Mobile Phone", 0x6709, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Cesar Cardoso + // No confirmation that this is really MTP. + { "Samsung", 0x04e8, "F250 Mobile Phone", 0x6727, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Charlie Todd 2007-10-31 + { "Samsung", 0x04e8, "Juke (SCH-U470)", 0x6734, + DEVICE_FLAG_UNLOAD_DRIVER}, + // Reported by Tenn + { "Samsung", 0x04e8, "GT-B2700", 0x6752, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Added by Greg Fitzgerald + { "Samsung", 0x04e8, "SAMSUNG Trance", 0x6763, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From anonymous sourceforge user + // Guessing on .spl flag, maybe needs NO_ZERO_READS, whatdoIknow + { "Samsung", 0x04e8, "GT-S8500", 0x6819, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + /* + * These entries seems to be used on a *lot* of Samsung + * Android phones. It is *not* the Android MTP stack but an internal + * Samsung stack. The devices present a few different product IDs + * depending on mode: + * + * 0x685b - UMS + * 0x685c - MTP + ADB + * 0x685e - UMS + CDC (not MTP) + * 0x6860 - MTP mode (default) + * 0x6863 - USB CDC RNDIS (not MTP) + * 0x6865 - PTP mode (not MTP) + * 0x6877 - Kies mode? Does it have MTP? + * + * Used on these samsung devices: + * GT P7310/P7510/N7000/I9100/I9250/I9300 + * Galaxy Nexus + * Galaxy Tab 7.7/10.1 + * Galaxy S GT-I9000 + * Galaxy S Advance GT-I9070 + * Galaxy S2 + * Galaxy S3 + * Galaxy Note + * Gakaxy Xcover + * Galaxy Y + * + * - It seems that some PTP commands are broken. + * - Devices seem to have a connection timeout, the session must be + * open in about 3 seconds since the device is plugged in, after + * that time it will not respond. Thus GUI programs work fine. + * - Seems also to be used with Galaxy Nexus debug mode and on + * US markets for some weird reason. + * + * From: Ignacio Martínez and others + * From Harrison Metzger + */ + { "Samsung", 0x04e8, + "Galaxy models (MTP+ADB)", 0x685c, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_LONG_TIMEOUT | + DEVICE_FLAG_PROPLIST_OVERRIDES_OI | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_FLAC_IS_UNKNOWN }, + { "Samsung", 0x04e8, + "Galaxy models (MTP)", 0x6860, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_LONG_TIMEOUT | + DEVICE_FLAG_PROPLIST_OVERRIDES_OI | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // From: Erik Berglund + // Logs indicate this needs DEVICE_FLAG_NO_ZERO_READS + // No Samsung platlists on this device. + // https://sourceforge.net/tracker/?func=detail&atid=809061&aid=3026337&group_id=158745 + // i5800 duplicate reported by igel + // Guessing this has the same problematic MTP stack as the device + // above. + { "Samsung", 0x04e8, "Galaxy models Kies mode", 0x6877, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_LONG_TIMEOUT | + DEVICE_FLAG_PROPLIST_OVERRIDES_OI | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // From: John Gorkos and + // Akos Maroy + { "Samsung", 0x04e8, "Vibrant SGH-T959/Captivate/Media player mode", 0x68a9, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // Reported by Sleep.Walker + { "Samsung", 0x04e8, "GT-B2710/Xcover 271", 0x68af, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_PLAYLIST_SPL_V1 }, + // From anonymous Sourceforge user + { "Samsung", 0x04e8, "GT-S5230", 0xe20c, DEVICE_FLAG_NONE }, + + + /* + * Microsoft + * All except the first probably need MTPZ to work + */ + { "Microsoft/Intel", 0x045e, "Bandon Portable Media Center", 0x00c9, + DEVICE_FLAG_NONE }, + // HTC Mozart is using the PID, as is Nokia Lumia 800 + // May need MTPZ to work + { "Microsoft", 0x045e, "Windows Phone", 0x04ec, DEVICE_FLAG_NONE }, + // Reported by Tadimarri Sarath + // No idea why this use an Intel PID, perhaps a leftover from + // the early PMC development days when Intel and Microsoft were + // partnering. + { "Microsoft", 0x045e, "Windows MTP Simulator", 0x0622, DEVICE_FLAG_NONE }, + // Reported by Edward Hutchins (used for Zune HDs) + { "Microsoft", 0x045e, "Zune HD", 0x063e, DEVICE_FLAG_NONE }, + { "Microsoft", 0x045e, "Kin 1", 0x0640, DEVICE_FLAG_NONE }, + { "Microsoft/Sharp/nVidia", 0x045e, "Kin TwoM", 0x0641, DEVICE_FLAG_NONE }, + // Reported by Farooq Zaman (used for all Zunes) + { "Microsoft", 0x045e, "Zune", 0x0710, DEVICE_FLAG_NONE }, + // Reported by Olegs Jeremejevs + { "Microsoft/HTC", 0x045e, "HTC 8S", 0xf0ca, DEVICE_FLAG_NONE }, + + /* + * JVC + */ + // From Mark Veinot + { "JVC", 0x04f1, "Alneo XA-HD500", 0x6105, DEVICE_FLAG_NONE }, + + /* + * Philips + */ + { "Philips", 0x0471, "HDD6320/00 or HDD6330/17", 0x014b, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // Anonymous SourceForge user + { "Philips", 0x0471, "HDD14XX,HDD1620 or HDD1630/17", 0x014c, DEVICE_FLAG_NONE }, + // from discussion forum + { "Philips", 0x0471, "HDD085/00 or HDD082/17", 0x014d, DEVICE_FLAG_NONE }, + // from XNJB forum + { "Philips", 0x0471, "GoGear SA9200", 0x014f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From John Coppens + { "Philips", 0x0471, "SA1115/55", 0x0164, DEVICE_FLAG_NONE }, + // From Gerhard Mekenkamp + { "Philips", 0x0471, "GoGear Audio", 0x0165, DEVICE_FLAG_NONE }, + // from David Holm + { "Philips", 0x0471, "Shoqbox", 0x0172, DEVICE_FLAG_ONLY_7BIT_FILENAMES }, + // from npedrosa + { "Philips", 0x0471, "PSA610", 0x0181, DEVICE_FLAG_NONE }, + // From libgphoto2 source + { "Philips", 0x0471, "HDD6320", 0x01eb, DEVICE_FLAG_NONE }, + // From Detlef Meier + { "Philips", 0x0471, "GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045", 0x084e, DEVICE_FLAG_UNLOAD_DRIVER }, + // From anonymous Sourceforge user SA5145/02 + { "Philips", 0x0471, "GoGear SA5145", 0x0857, DEVICE_FLAG_UNLOAD_DRIVER }, + // From a + { "Philips", 0x0471, "GoGear SA6125/SA6145/SA6185", 0x2002, DEVICE_FLAG_UNLOAD_DRIVER }, + // From anonymous Sourceforge user, not verified to be MTP! + { "Philips", 0x0471, "GoGear SA3345", 0x2004, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Roberto Vidmar + { "Philips", 0x0471, "SA5285", 0x2022, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Elie De Brauwer + { "Philips", 0x0471, "GoGear ViBE SA1VBE04", 0x2075, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Anonymous SourceForge user + { "Philips", 0x0471, "GoGear Muse", 0x2077, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Elie De Brauwer + { "Philips", 0x0471, "GoGear ViBE SA1VBE04/08", 0x207b, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From josmtx + { "Philips", 0x0471, "GoGear Aria", 0x207c, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From epklein + { "Philips", 0x0471, "GoGear SA1VBE08KX/78", 0x208e, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Anonymous SourceForge User + { "Philips", 0x0471, "GoGear VIBE SA2VBE[08|16]K/02", 0x20b7, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Anonymous SourceForge User + { "Philips", 0x0471, "GoGear Ariaz", 0x20b9, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Anonymous SourceForge User + { "Philips", 0x0471, "GoGear Vibe/02", 0x20e5, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Philip Rhoades + { "Philips", 0x0471, "GoGear Ariaz/97", 0x2138, + DEVICE_FLAG_UNLOAD_DRIVER }, + // from XNJB user + { "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE }, + + /* + * Acer + * Reporters: + * Franck VDL + * Matthias Arndt + * Arvin Schnell + * Philippe Marzouk + * nE0sIghT + * Maxime de Roucy + */ + { "Acer", 0x0502, "Iconia TAB A500 (ID1)", 0x3325, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A500 (ID2)", 0x3341, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A501 (ID1)", 0x3344, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A501 (ID2)", 0x3345, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A100 (ID1)", 0x3348, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A100 (ID2)", 0x3349, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A101 (ID1)", 0x334a, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A700", 0x3378, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A200 (ID1)", 0x337c, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A200 (ID2)", 0x337d, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A510 (ID1)", 0x3389, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A510 (ID2)", 0x338a, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "S500 CloudMobile", 0x33aa, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "E350 Liquid Gallant Duo (ID1)", 0x33c3, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "E350 Liquid Gallant Duo (ID2)", 0x33c4, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A210", 0x33cb, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A110", 0x33d8, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Liquid Z120 MT65xx Android Phone", 0x3473, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia A1-810", 0x353c, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Liquid Z130 MT65xx Android Phone", 0x355f, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * SanDisk + * several devices (c150 for sure) are definately dual-mode and must + * have the USB mass storage driver that hooks them unloaded first. + * They all have problematic dual-mode making the device unload effect + * uncertain on these devices. + * + * All older devices seem to need DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL. + * Old chipsets: e200/c200 use PP5024 from Nvidia (formerly PortalPlayer). + * m200 use TCC770 from Telechips. + * + * The newer Sansa v2 chipset, AD3525 from Austriamicrosystems (AMS) found + * in e280 v2 c200 v2, Clip, Fuze etc require + * DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST + * and DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR to work properly. + * + * For more info see: http://daniel.haxx.se/sansa/v2.html + */ + // Reported by Brian Robison + { "SanDisk", 0x0781, "Sansa m230/m240", 0x7400, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // From Rockbox device listing + { "SanDisk", 0x0781, "Sansa m200-tcc (MTP mode)", 0x7401, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by tangent_@users.sourceforge.net + { "SanDisk", 0x0781, "Sansa c150", 0x7410, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // From libgphoto2 source + // Reported by + // Reported by Mike Owen + { "SanDisk", 0x0781, "Sansa e200/e250/e260/e270/e280", 0x7420, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Don't add 0x7421 as this is e280 in MSC mode + // Reported by XNJB user + { "SanDisk", 0x0781, "Sansa e260/e280 v2", 0x7422, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by XNJB user + { "SanDisk", 0x0781, "Sansa m240/m250", 0x7430, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by Eugene Brevdo + { "SanDisk", 0x0781, "Sansa Clip", 0x7432, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED}, + // Reported by HackAR + { "SanDisk", 0x0781, "Sansa Clip v2", 0x7434, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED}, + // Reported by anonymous user at sourceforge.net + { "SanDisk", 0x0781, "Sansa c240/c250", 0x7450, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by anonymous SourceForge user + { "SanDisk", 0x0781, "Sansa c250 v2", 0x7452, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by Troy Curtis Jr. + { "SanDisk", 0x0781, "Sansa Express", 0x7460, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by XNJB user, and Miguel de Icaza + // This has no dual-mode so no need to unload any driver. + // This is a Linux based device! + { "SanDisk", 0x0781, "Sansa Connect", 0x7480, DEVICE_FLAG_NONE }, + // Reported by anonymous SourceForge user + { "SanDisk", 0x0781, "Sansa View", 0x74b0, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by Patrick + // There are apparently problems with this device. + { "SanDisk", 0x0781, "Sansa Fuze", 0x74c0, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Harry Phillips + { "SanDisk", 0x0781, "Sansa Fuze v2", 0x74c2, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by anonymous SourceForge user + // Need BROKEN_SET_SAMPLE_DIMENSIONS accordning to + // Michael + { "SanDisk", 0x0781, "Sansa Clip+", 0x74d0, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED}, + // Reported by anonymous SourceForge user + { "SanDisk", 0x0781, "Sansa Fuze+", 0x74e0, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED}, + // Reported by mattyj2001@users.sourceforge.net + { "SanDisk", 0x0781, "Sansa Clip Zip", 0x74e4, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR | + DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS | + DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED}, + + /* + * iRiver + * we assume that PTP_OC_MTP_GetObjPropList is essentially + * broken on all iRiver devices, meaning it simply won't return + * all properties for a file when asking for metadata 0xffffffff. + * Please test on your device if you believe it isn't broken! + */ + { "iRiver", 0x1006, "H300 Series MTP", 0x3004, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x1006, "Portable Media Center 1", 0x4002, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x1006, "Portable Media Center 2", 0x4003, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // From [st]anislav + { "iRiver", 0x1042, "T7 Volcano", 0x1143, DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // From an anonymous person at SourceForge, uncertain about this one + { "iRiver", 0x4102, "iFP-880", 0x1008, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // 0x4102, 0x1042 is a USB mass storage mode for E100 v2/Lplayer + // From libgphoto2 source + { "iRiver", 0x4102, "T10", 0x1113, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x4102, "T20 FM", 0x1114, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // This appears at the MTP-UMS site + { "iRiver", 0x4102, "T20", 0x1115, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x4102, "U10", 0x1116, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x4102, "T10b", 0x1117, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x4102, "T20b", 0x1118, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + { "iRiver", 0x4102, "T30", 0x1119, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Reported by David Wolpoff + { "iRiver", 0x4102, "T10 2GB", 0x1120, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Rough guess this is the MTP device ID... + { "iRiver", 0x4102, "N12", 0x1122, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Reported by Philip Antoniades + // Newer iriver devices seem to have shaped-up firmware without any + // of the annoying bugs. + { "iRiver", 0x4102, "Clix2", 0x1126, DEVICE_FLAG_NONE }, + // Reported by Adam Torgerson + { "iRiver", 0x4102, "Clix", 0x112a, + DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Reported by Douglas Roth + { "iRiver", 0x4102, "X20", 0x1132, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Reported by Robert Ugo + { "iRiver", 0x4102, "T60", 0x1134, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // Reported by two anonymous SourceForge users + // Needs the stronger OGG_IS_UNKNOWN flag to support OGG properly, + // be aware of newer players that may be needing this too. + { "iRiver", 0x4102, "E100", 0x1141, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by anonymous SourceForge user + // Need verification of whether this firmware really need all these flags + { "iRiver", 0x4102, "E100 v2/Lplayer", 0x1142, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by Richard Vennemann + // In USB Mass Storage mode it is 0x4102/0x1047 + // Seems to use the new shaped-up firmware. + { "iRiver", 0x4102, "Spinn", 0x1147, DEVICE_FLAG_NONE }, + // Reported by Tony Janssen + { "iRiver", 0x4102, "E50", 0x1151, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by anonymous SourceForge user, guessing on flags + { "iRiver", 0x4102, "E150", 0x1152, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by Jakub Matraszek + { "iRiver", 0x4102, "T5", 0x1153, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by pyalex@users.sourceforge.net + // Guessing that this needs the FLAG_NO_ZERO_READS... + { "iRiver", 0x4102, "E30", 0x1167, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // Reported by Scott Call + // Assume this actually supports OGG though it reports it doesn't. + { "iRiver", 0x4102, "H10 20GB", 0x2101, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + { "iRiver", 0x4102, "H10 5GB", 0x2102, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + // From Rockbox device listing + { "iRiver", 0x4102, "H10 5.6GB", 0x2105, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | + DEVICE_FLAG_OGG_IS_UNKNOWN }, + + + /* + * Dell + */ + { "Dell Inc", 0x413c, "DJ Itty", 0x4500, + DEVICE_FLAG_NONE }, + /* Reported by: JR */ + { "Dell Inc", 0x413c, "Dell Streak 7", 0xb10b, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Dell Inc", 0x413c, "Dell Venue 7 inch", 0xb11a, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Toshiba + * Tentatively flagged all Toshiba devices with + * DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST after one of them + * showed erroneous behaviour. + */ + { "Toshiba", 0x0930, "Gigabeat MEGF-40", 0x0009, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + { "Toshiba", 0x0930, "Gigabeat", 0x000c, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Nicholas Tripp + { "Toshiba", 0x0930, "Gigabeat P20", 0x000f, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // From libgphoto2 + { "Toshiba", 0x0930, "Gigabeat S", 0x0010, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Rob Brown + { "Toshiba", 0x0930, "Gigabeat P10", 0x0011, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by solanum@users.sourceforge.net + { "Toshiba", 0x0930, "Gigabeat V30", 0x0014, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Michael Davis + { "Toshiba", 0x0930, "Gigabeat U", 0x0016, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Devon Jacobs + { "Toshiba", 0x0930, "Gigabeat MEU202", 0x0018, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Rolf + { "Toshiba", 0x0930, "Gigabeat T", 0x0019, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Phil Ingram + // Tentatively added - no real reports of this device ID being MTP, + // reports as USB Mass Storage currently. + { "Toshiba", 0x0930, "Gigabeat MEU201", 0x001a, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by anonymous SourceForge user + { "Toshiba", 0x0930, "Gigabeat MET401", 0x001d, + DEVICE_FLAG_NO_RELEASE_INTERFACE | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + // Reported by Andree Jacobson + { "Toshiba", 0x0930, "Excite AT300", 0x0963, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Nigel Cunningham + // Guessing on Android bugs + { "Toshiba", 0x0930, "Thrive AT100/AT105", 0x7100, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Archos + * These devices have some dual-mode interfaces which will really + * respect the driver unloading, so DEVICE_FLAG_UNLOAD_DRIVER + * really work on these devices! + * + * Devices reported by: + * Archos + * Alexander Haertig + * Jan Binder + * gudul1@users.sourceforge.net + * Etienne Chauchot + * Kay McCormick + * Joe Rabinoff + * Jim Krehl + * Adrien Guichard + * Clément + * Thackert + * Till + * Sebastien ROHAUT + */ + { "Archos", 0x0e79, "Gmini XS100", 0x1207, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "XS202 (MTP mode)", 0x1208, DEVICE_FLAG_NONE }, + { "Archos", 0x0e79, "104 (MTP mode)", 0x120a, DEVICE_FLAG_NONE }, + { "Archos", 0x0e79, "204 (MTP mode)", 0x120c, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "404 (MTP mode)", 0x1301, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "404CAM (MTP mode)", 0x1303, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "504 (MTP mode)", 0x1307, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "604 (MTP mode)", 0x1309, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "604WIFI (MTP mode)", 0x130b, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "704 mobile dvr", 0x130d, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "704TV (MTP mode)", 0x130f, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "405 (MTP mode)", 0x1311, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "605 (MTP mode)", 0x1313, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "605F (MTP mode)", 0x1315, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "705 (MTP mode)", 0x1319, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "TV+ (MTP mode)", 0x131b, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "105 (MTP mode)", 0x131d, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "405HDD (MTP mode)", 0x1321, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "5 (MTP mode 1)", 0x1331, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "5 (MTP mode 2)", 0x1333, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "7 (MTP mode)", 0x1335, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "SPOD (MTP mode)", 0x1341, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "5S IT (MTP mode)", 0x1351, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "5H IT (MTP mode)", 0x1357, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "Arnova Childpad", 0x1458, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "Arnova 8c G3", 0x145e, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "Arnova 10bG3 Tablet", 0x146b, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "97 Xenon", 0x149a, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "97 Titanium", 0x14ad, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 Titanium", 0x14b9, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "8o G9 (MTP mode)", 0x1508, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "8o G9 Turbo (MTP mode)", 0x1509, DEVICE_FLAG_UNLOAD_DRIVER }, + { "Archos", 0x0e79, "80G9", 0x1518, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 G9 (ID1)", 0x1528, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 G9 (ID2)", 0x1529, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 G9 Turbo 250 HD", 0x1538, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 G9 Turbo", 0x1539, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "70it2 (ID 1)", 0x1568, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "70it2 (ID 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos", 0x0e79, "101 G4", 0x4002, DEVICE_FLAGS_ANDROID_BUGS }, + { "Archos (for Tesco)", 0x0e79, "Hudl", 0x5008, DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad + * This unit is falsely detected as USB mass storage in Linux + * prior to kernel 2.6.19 (fixed by patch from Alan Stern) + * so on older kernels special care is needed to remove the + * USB mass storage driver that erroneously binds to the device + * interface. + * + * More problematic, this manufacturer+device ID seems to be + * reused in a USB Mass Storage device named "Zipy Fox 8GB", + * which means libmtp may mistreat it. + */ + { "Dunlop", 0x10d6, "MP3 player 1GB / EGOMAN MD223AFD", 0x2200, DEVICE_FLAG_UNLOAD_DRIVER}, + // Reported by Steven Black + // Obviously this company goes by many names. + // This device is USB 2.0 only. Broken pipe on closing. + // A later report indicates that this is also used by the iRiver E200 + { "Memorex or iRiver", 0x10d6, "MMP 8585/8586 or iRiver E200", 0x2300, + DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_NO_RELEASE_INTERFACE}, + + /* + * Sirius + */ + { "Sirius", 0x18f6, "Stiletto", 0x0102, DEVICE_FLAG_NONE }, + // Reported by Chris Bagwell + { "Sirius", 0x18f6, "Stiletto 2", 0x0110, DEVICE_FLAG_NONE }, + + /* + * Canon + * These are actually cameras, but they have a Microsoft device descriptor + * and reports themselves as supporting the MTP extension. + */ + { "Canon", 0x04a9, "Ixus Digital 700 (PTP/MTP mode)", 0x30f2, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + { "Canon", 0x04a9, "PowerShot A640 (PTP/MTP mode)", 0x3139, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From Peter + { "Canon", 0x04a9, "PowerShot SX20IS (PTP/MTP mode)", 0x31e4, + DEVICE_FLAG_NONE }, + + /* + * Nokia + * Please verify the low device IDs here, I suspect these might be for + * things like USB storage or modem mode actually, whereas the higher + * range (0x04nn) could be for MTP. Some of the devices were gathered + * from the Nokia WMP drivers: + * http://nds2.nokia.com/files/support/global/phones/software/ + * Address was gathered from going to: + * nseries.com + * -> support + * -> select supported device + * -> PC software + * -> Music software + * -> Windows Media Player 10 driver + */ + // From: DoomHammer + { "Nokia", 0x0421, "N81 Mobile Phone", 0x000a, DEVICE_FLAG_NONE }, + // From an anonymous SourceForge user + { "Nokia", 0x0421, "6120c Classic Mobile Phone", 0x002e, DEVICE_FLAG_NONE }, + // From Stefano + { "Nokia", 0x0421, "N96 Mobile Phone", 0x0039, DEVICE_FLAG_NONE }, + // From Martijn van de Streek + { "Nokia", 0x0421, "6500c Classic Mobile Phone", 0x003c, DEVICE_FLAG_NONE }, + // From: DoomHammer + { "Nokia", 0x0421, "3110c Mobile Phone", 0x005f, DEVICE_FLAG_NONE }, + // From: Vasily + { "Nokia", 0x0421, "3109c Mobile Phone", 0x0065, DEVICE_FLAG_NONE }, + // From: + { "Nokia", 0x0421, "5310 XpressMusic", 0x006c, DEVICE_FLAG_NONE }, + // From: robin (AT) headbank D0Tco DOTuk + { "Nokia", 0x0421, "N95 Mobile Phone 8GB", 0x006e, DEVICE_FLAG_NONE }, + // From Bastien Nocera + { "Nokia", 0x0421, "N82 Mobile Phone", 0x0074, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From Martijn van de Streek + { "Nokia", 0x0421, "N78 Mobile Phone", 0x0079, DEVICE_FLAG_NONE }, + // From William Pettersson + { "Nokia", 0x0421, "6220 Classic", 0x008d, DEVICE_FLAG_NONE }, + // From kellerkev@gmail.com + { "Nokia", 0x0421, "N85 Mobile Phone", 0x0092, DEVICE_FLAG_NONE }, + // From Alexandre LISSY + { "Nokia", 0x0421, "6210 Navigator", 0x0098, DEVICE_FLAG_NONE }, + // From: danielw + { "Nokia", 0x0421, "E71", 0x00e4, DEVICE_FLAG_NONE }, + // From: Laurent Bigonville + { "Nokia", 0x0421, "E66", 0x00e5, DEVICE_FLAG_NONE }, + // From: Pier + { "Nokia", 0x0421, "5320 XpressMusic", 0x00ea, DEVICE_FLAG_NONE }, + // From: Gausie + { "Nokia", 0x0421, "5800 XpressMusic", 0x0154, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From: Willy Gardiol (web) + // Spurious errors for getting all objects, lead me to believe + // this flag atleast is needed + { "Nokia", 0x0421, "5800 XpressMusic v2", 0x0155, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // Yet another version... I think + { "Nokia", 0x0421, "5800 XpressMusic v3", 0x0159, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From an anonymous SourceForge user + // Not verified to be MTP + { "Nokia", 0x0421, "E63", 0x0179, DEVICE_FLAG_NONE }, + // Reported by: max g + // Reported by: oswillios + { "Nokia", 0x0421, "N79", 0x0186, DEVICE_FLAG_NONE }, + // From an anonymous SourceForge user + { "Nokia", 0x0421, "E71x", 0x01a1, DEVICE_FLAG_NONE }, + // From Ser + { "Nokia", 0x0421, "E52", 0x01cf, DEVICE_FLAG_NONE }, + // From Marcus Meissner + { "Nokia", 0x0421, "3710", 0x01ee, DEVICE_FLAG_NONE }, + // From: AxeL + { "Nokia", 0x0421, "N97-1", 0x01f4, DEVICE_FLAG_NONE }, + // From: FunkyPenguin + { "Nokia", 0x0421, "N97", 0x01f5, DEVICE_FLAG_NONE }, + // From: Anonymous SourceForge user + { "Nokia", 0x0421, "5130 XpressMusic", 0x0209, DEVICE_FLAG_NONE }, + // From: Anonymous SourceForge user + { "Nokia", 0x0421, "E72", 0x0221, DEVICE_FLAG_NONE }, + // From: Anonymous SourceForge user + { "Nokia", 0x0421, "5530", 0x0229, DEVICE_FLAG_NONE }, + /* Grzegorz Woźniak */ + { "Nokia", 0x0421, "E6", 0x032f, DEVICE_FLAG_NONE }, + // From: Anonymous SourceForge user + { "Nokia", 0x0421, "N97 mini", 0x026b, DEVICE_FLAG_NONE }, + // From: Anonymous SourceForge user + { "Nokia", 0x0421, "X6", 0x0274, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // From: Alexander Kojevnikov + { "Nokia", 0x0421, "6600i", 0x0297, DEVICE_FLAG_NONE }, + // From: Karthik Paithankar + { "Nokia", 0x0421, "2710", 0x02c1, DEVICE_FLAG_NONE }, + // From: Mick Stephenson + { "Nokia", 0x0421, "5230", 0x02e2, DEVICE_FLAG_NONE }, + // From: Lan Liu at Nokia + { "Nokia", 0x0421, "N8", 0x02fe, DEVICE_FLAG_NONE }, + // From: Lan Liu at Nokia + { "Nokia", 0x0421, "N8 (Ovi mode)", 0x0302, DEVICE_FLAG_NONE }, + // From: Martijn Hoogendoorn + { "Nokia", 0x0421, "E7", 0x0334, DEVICE_FLAG_NONE }, + // From: Raul Metsma + { "Nokia", 0x0421, "E7 (Ovi mode)", 0x0335, DEVICE_FLAG_NONE }, + // Reported by Serg + // Symbian phone + { "Nokia", 0x0421, "C7", 0x03c1, DEVICE_FLAG_NONE }, + // Reported by Anonymous SourceForge user + { "Nokia", 0x0421, "C7 (ID2)", 0x03cd, DEVICE_FLAG_NONE }, + // Reported by Anonymous SourceForge user + { "Nokia", 0x0421, "N950", 0x03d2, DEVICE_FLAG_NONE }, + // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_3250_WMP10_driver.inf + { "Nokia", 0x0421, "3250 Mobile Phone", 0x0462, DEVICE_FLAG_NONE }, + // From http://nds2.nokia.com/files/support/global/phones/software/Nokia_N93_WMP10_Driver.inf + { "Nokia", 0x0421, "N93 Mobile Phone", 0x0478, DEVICE_FLAG_NONE }, + // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_5500_Sport_WMP10_driver.inf + { "Nokia", 0x0421, "5500 Sport Mobile Phone", 0x047e, DEVICE_FLAG_NONE }, + // From http://nds2.nokia.com/files/support/global/phones/software/Nokia_N91_WMP10_Driver.inf + { "Nokia", 0x0421, "N91 Mobile Phone", 0x0485, DEVICE_FLAG_NONE }, + // From: Christian Rusa + { "Nokia", 0x0421, "5700 XpressMusic Mobile Phone", 0x04b4, DEVICE_FLAG_NONE }, + // From: Mitchell Hicks + { "Nokia", 0x0421, "5300 Mobile Phone", 0x04ba, DEVICE_FLAG_NONE }, + // https://sourceforge.net/tracker/index.php?func=detail&aid=2692473&group_id=8874&atid=358874 + // From: Tiburce + { "Nokia", 0x0421, "5200 Mobile Phone", 0x04be, + DEVICE_FLAG_BROKEN_BATTERY_LEVEL }, + // From Christian Arnold + { "Nokia", 0x0421, "N73 Mobile Phone", 0x04d1, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Swapan + { "Nokia", 0x0421, "N75 Mobile Phone", 0x04e1, DEVICE_FLAG_NONE }, + // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_N93i_WMP10_driver.inf + { "Nokia", 0x0421, "N93i Mobile Phone", 0x04e5, DEVICE_FLAG_NONE }, + // From Anonymous Sourceforge User + { "Nokia", 0x0421, "N95 Mobile Phone", 0x04ef, DEVICE_FLAG_NONE }, + // From: Pat Nicholls + { "Nokia", 0x0421, "N80 Internet Edition (Media Player)", 0x04f1, + DEVICE_FLAG_UNLOAD_DRIVER }, + // From: Maxin B. John + { "Nokia", 0x0421, "N9", 0x051a, DEVICE_FLAG_NONE }, + { "Nokia", 0x0421, "C5-00", 0x0592, DEVICE_FLAG_NONE }, + { "Nokia", 0x0421, "808 PureView", 0x05d3, DEVICE_FLAG_NONE }, + // Reported by Sampo Savola + // Covers Lumia 920, 820 and probably any WP8 device. + { "Nokia", 0x0421, "Nokia Lumia WP8", 0x0661, DEVICE_FLAG_NONE }, + + /* + * Qualcomm + * This vendor ID seems to be used a bit by others. + */ + + // Reported by Richard Wall + { "Qualcomm (for Nokia)", 0x05c6, "5530 Xpressmusic", 0x0229, + DEVICE_FLAG_NONE }, + // Reported by anonymous SourceForge user + // One thing stated by reporter (Nokia model) another by the detect log... + { "Qualcomm (for Nokia/Verizon)", 0x05c6, "6205 Balboa/Verizon Music Phone", + 0x3196, DEVICE_FLAG_NONE }, + // Reported by anonymous SourceForge user + { "Qualcomm (for Smartfren)", 0x05c6, "Andromax U", + 0x9025, DEVICE_FLAG_NONE }, + + + /* + * Vendor ID 0x13d1 is some offshoring company in China, + * in one source named "A-Max Technology Macao Commercial + * Offshore Co. Ltd." sometime "CCTech". + */ + // Logik brand + { "Logik", 0x13d1, "LOG DAX MP3 and DAB Player", 0x7002, DEVICE_FLAG_UNLOAD_DRIVER }, + // Technika brand + // Reported by + { "Technika", 0x13d1, "MP-709", 0x7017, DEVICE_FLAG_UNLOAD_DRIVER }, + + + /* + * RCA / Thomson + */ + // From kiki + { "Thomson", 0x069b, "EM28 Series", 0x0774, DEVICE_FLAG_NONE }, + { "Thomson / RCA", 0x069b, "Opal / Lyra MC4002", 0x0777, DEVICE_FLAG_NONE }, + { "Thomson", 0x069b, "Lyra MC5104B (M51 Series)", 0x077c, DEVICE_FLAG_NONE }, + { "Thomson", 0x069b, "RCA H106", 0x301a, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Svenna + // Not confirmed to be MTP. + { "Thomson", 0x069b, "scenium E308", 0x3028, DEVICE_FLAG_NONE }, + // From XNJB user + { "Thomson / RCA", 0x069b, "Lyra HC308A", 0x3035, DEVICE_FLAG_NONE }, + + /* + * Fujitsu devices + */ + { "Fujitsu, Ltd", 0x04c5, "F903iX HIGH-SPEED", 0x1140, DEVICE_FLAG_NONE }, + // Reported by Thomas Bretthauer + { "Fujitsu, Ltd", 0x04c5, "STYLISTIC M532", 0x133b, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Palm device userland program named Pocket Tunes + * Reported by Peter Gyongyosi + */ + { "NormSoft, Inc.", 0x1703, "Pocket Tunes", 0x0001, DEVICE_FLAG_NONE }, + // Reported by anonymous submission + { "NormSoft, Inc.", 0x1703, "Pocket Tunes 4", 0x0002, DEVICE_FLAG_NONE }, + + /* + * TrekStor, Medion and Maxfield devices + * Their datasheet claims their devices are dualmode so probably needs to + * unload the attached drivers here. + */ + // Reported by Stefan Voss + // This is a Sigmatel SoC with a hard disk. + { "TrekStor", 0x066f, "Vibez 8/12GB", 0x842a, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by anonymous SourceForge user. + // This one done for Medion, whatever that is. Error reported so assume + // the same bug flag as its ancestor above. + { "Medion", 0x066f, "MD8333 (ID1)", 0x8550, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by anonymous SourceForge user + { "Medion", 0x066f, "MD8333 (ID2)", 0x8588, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // The vendor ID is "Quanta Computer, Inc." + // same as Olivetti Olipad 110 + // Guessing on device flags + { "Medion", 0x0408, "MD99000 (P9514)/Olivetti Olipad 110", 0xb009, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Richard Eigenmann + { "Medion", 0x0408, "Lifetab P9514", 0xb00a, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous SourceForge user + { "Maxfield", 0x066f, "G-Flash NG 1GB", 0x846c, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by PaoloC + // Apparently SigmaTel has an SDK for MTP players with this ID + { "SigmaTel Inc.", 0x066f, "MTPMSCN Audio Player", 0xa010, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Cristi Magherusan + { "TrekStor", 0x0402, "i.Beat Sweez FM", 0x0611, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Fox-ino + // No confirmation that this is really MTP so commented it out. + // { "ALi Corp.", 0x0402, "MPMAN 2GB", 0x5668, + // DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Anonymous SourceForge user + {"TrekStor", 0x1e68, "i.Beat Organix 2.0", 0x0002, + DEVICE_FLAG_UNLOAD_DRIVER }, + + /* + * Disney/Tevion/MyMusix + */ + // Reported by XNJB user + { "Disney", 0x0aa6, "MixMax", 0x6021, DEVICE_FLAG_NONE }, + // Reported by anonymous Sourceforge user + { "Tevion", 0x0aa6, "MD 81488", 0x3011, DEVICE_FLAG_NONE }, + // Reported by Peter Hedlund + { "MyMusix", 0x0aa6, "PD-6070", 0x9601, DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | + DEVICE_FLAG_NO_RELEASE_INTERFACE }, + + /* + * Cowon Systems, Inc. + * The iAudio audiophile devices don't encourage the use of MTP. + * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg + * status + */ + // Reported by Patrik Johansson + { "Cowon", 0x0e21, "iAudio U3 (MTP mode)", 0x0701, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by Kevin Michael Smith + { "Cowon", 0x0e21, "iAudio 6 (MTP mode)", 0x0711, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Roberth Karman + { "Cowon", 0x0e21, "iAudio 7 (MTP mode)", 0x0751, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by an anonymous SourceForge user + { "Cowon", 0x0e21, "iAudio U5 (MTP mode)", 0x0761, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by TJ Something + { "Cowon", 0x0e21, "iAudio D2 (MTP mode)", 0x0801, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by anonymous Sourceforge user + { "Cowon", 0x0e21, "iAudio D2+ FW 2.x (MTP mode)", 0x0861, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // From Rockbox device listing + { "Cowon", 0x0e21, "iAudio D2+ DAB FW 4.x (MTP mode)", 0x0871, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // From Rockbox device listing + { "Cowon", 0x0e21, "iAudio D2+ FW 3.x (MTP mode)", 0x0881, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // From Rockbox device listing + { "Cowon", 0x0e21, "iAudio D2+ DMB FW 1.x (MTP mode)", 0x0891, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by + { "Cowon", 0x0e21, "iAudio S9 (MTP mode)", 0x0901, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by Dan Nicholson + { "Cowon", 0x0e21, "iAudio 9 (MTP mode)", 0x0911, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by Franck VDL + { "Cowon", 0x0e21, "iAudio J3 (MTP mode)", 0x0921, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by anonymous SourceForge user + { "Cowon", 0x0e21, "iAudio X7 (MTP mode)", 0x0931, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + // Reported by anonymous SourceForge user + { "Cowon", 0x0e21, "iAudio C2 (MTP mode)", 0x0941, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + { "Cowon", 0x0e21, "iAudio 10 (MTP mode)", 0x0952, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN }, + + /* + * Insignia, dual-mode. + */ + { "Insignia", 0x19ff, "NS-DV45", 0x0303, DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Rajan Bella + { "Insignia", 0x19ff, "Sport Player", 0x0307, DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by "brad" (anonymous, sourceforge) + { "Insignia", 0x19ff, "Pilot 4GB", 0x0309, DEVICE_FLAG_UNLOAD_DRIVER }, + + /* + * LG Electronics + */ + // Uncertain if this is really the MTP mode device ID... + { "LG Electronics Inc.", 0x043e, "T54", 0x7040, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Not verified - anonymous submission + { "LG Electronics Inc.", 0x043e, "UP3", 0x70b1, DEVICE_FLAG_NONE }, + // Reported by Joseph Nahmias + { "LG Electronics Inc.", 0x1004, "VX8550 V CAST Mobile Phone", 0x6010, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR }, + // Reported by Cyrille Potereau + { "LG Electronics Inc.", 0x1004, "KC910 Renoir Mobile Phone", 0x608f, + DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by Aaron Slunt + { "LG Electronics Inc.", 0x1004, "GR-500 Music Player", 0x611b, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR }, + { "LG Electronics Inc.", 0x1004, "KM900", 0x6132, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER }, + { "LG Electronics Inc.", 0x1004, "LG8575", 0x619a, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER }, + /* + * These two are LG Android phones: + * LG-F6 + * V909 G-Slate + */ + { "LG Electronics Inc.", 0x1004, "Android phone (ID1)", 0x61f1, + DEVICE_FLAGS_ANDROID_BUGS }, + { "LG Electronics Inc.", 0x1004, "Android phone (ID2)", 0x61f9, + DEVICE_FLAGS_ANDROID_BUGS }, + { "LG Electronics Inc.", 0x1004, "LG2 Optimus", 0x6225, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER }, + /* + * This VID+PID is used by a lot of LG models: + * E430 + * E460 + * E610 + * E612 + * E617G + * E970 + * P700 + */ + { "LG Electronics Inc.", 0x1004, "Various E and P models", 0x631c, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Sony + * It could be that these PIDs are one-per hundred series, so + * NWZ-A8xx is 0325, NWZ-S5xx is 0x326 etc. We need more devices + * reported to see a pattern here. + */ + // Reported by Alessandro Radaelli + { "Sony", 0x054c, "NWZ-A815/NWZ-A818", 0x0325, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by anonymous Sourceforge user. + { "Sony", 0x054c, "NWZ-S516", 0x0326, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Endre Oma + { "Sony", 0x054c, "NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Jean-Marc Bourguet + { "Sony", 0x054c, "NWZ-S716F", 0x035a, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Anon SF User / Anthon van der Neut + { "Sony", 0x054c, "NWZ-A826/NWZ-A828/NWZ-A829", 0x035b, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Niek Klaverstijn + { "Sony", 0x054c, "NWZ-A726/NWZ-A728/NWZ-A768", 0x035c, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Mehdi AMINI + { "Sony", 0x054c, "NWZ-B135", 0x036e, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by + { "Sony", 0x054c, "NWZ-E436F", 0x0385, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Michael Wilkinson + { "Sony", 0x054c, "NWZ-W202", 0x0388, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Ondrej Sury + { "Sony", 0x054c, "NWZ-S739F", 0x038c, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Marco Filipe Nunes Soares Abrantes Pereira + { "Sony", 0x054c, "NWZ-S638F", 0x038e, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Elliot + { "Sony", 0x054c, "NWZ-X1050B/NWZ-X1060B", + 0x0397, DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Silvio J. Gutierrez + { "Sony", 0x054c, "NWZ-X1051/NWZ-X1061", 0x0398, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Gregory Boddin + { "Sony", 0x054c, "NWZ-B142F", 0x03d8, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Rick Warner + { "Sony", 0x054c, "NWZ-E344/E345", 0x03fc, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Jonathan Stowe + { "Sony", 0x054c, "NWZ-E445", 0x03fd, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Anonymous SourceForge user + { "Sony", 0x054c, "NWZ-S545", 0x03fe, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + { "Sony", 0x054c, "NWZ-A845", 0x0404, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by anonymous SourceForge user + { "Sony", 0x054c, "NWZ-W252B", 0x04bb, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Suspect this device has strong DRM features + // See https://answers.launchpad.net/ubuntu/+source/libmtp/+question/149587 + { "Sony", 0x054c, "NWZ-B153F", 0x04be, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + { "Sony", 0x054c, "NWZ-E354", 0x04cb, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Toni Burgarello + { "Sony", 0x054c, "NWZ-S754", 0x04cc, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Hideki Yamane + { "Sony", 0x054c, "Sony Tablet P1", 0x04d1, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by dmiceman + { "Sony", 0x054c, "NWZ-B163F", 0x059a, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + { "Sony", 0x054c, "NWZ-E464", 0x05a6, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Reported by Jan Rheinlaender + { "Sony", 0x054c, "NWZ-S765", 0x05a8, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + // Olivier Keshavjee + { "Sony", 0x054c, "Sony Tablet S", 0x05b3, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by ghalambaz + { "Sony", 0x054c, "Sony Tablet S1", 0x05b4, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Sony", 0x054c, "NWZ-B173F", 0x0689, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + { "Sony", 0x054c, "DCR-SR75", 0x1294, + DEVICE_FLAGS_SONY_NWZ_BUGS }, + + /* + * SonyEricsson + * These initially seemed to support GetObjPropList but later revisions + * of the firmware seem to have broken it, so all are flagged as broken + * for now. + */ + // Reported by Øyvind Stegard + { "SonyEricsson", 0x0fce, "K850i", 0x0075, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Michael Eriksson + { "SonyEricsson", 0x0fce, "W910", 0x0076, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Zack + { "SonyEricsson", 0x0fce, "W890i", 0x00b3, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by robert dot ahlskog at gmail + { "SonyEricsson", 0x0fce, "W760i", 0x00c6, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Linus Åkesson + { "SonyEricsson", 0x0fce, "C902", 0x00d4, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by an anonymous SourceForge user + { "SonyEricsson", 0x0fce, "C702", 0x00d9, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Christian Zuckschwerdt + { "SonyEricsson", 0x0fce, "W980", 0x00da, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by David Taylor + { "SonyEricsson", 0x0fce, "C905", 0x00ef, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by David House + { "SonyEricsson", 0x0fce, "W595", 0x00f3, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // Reported by Mattias Evensson + { "SonyEricsson", 0x0fce, "W902", 0x00f5, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Sarunas + // Doesn't need any flags according to reporter + { "SonyEricsson", 0x0fce, "T700", 0x00fb, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + // Reported by Stéphane Pontier + { "SonyEricsson", 0x0fce, "W705/W715", 0x0105, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Håkan Kvist + { "SonyEricsson", 0x0fce, "W995", 0x0112, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by anonymous SourceForge user + { "SonyEricsson", 0x0fce, "U5", 0x0133, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Flo + { "SonyEricsson", 0x0fce, "U8i", 0x013a, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by xirotyu + { "SonyEricsson", 0x0fce, "j10i2 (Elm)", 0x0144, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Serge Chirik + { "SonyEricsson", 0x0fce, "j108i (Cedar)", 0x014e, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Jonas Nyrén + { "SonyEricsson", 0x0fce, "W302", 0x10c8, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Anonymous Sourceforge user + { "SonyEricsson", 0x0fce, "j10i (Elm)", 0xd144, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Thomas Schweitzer + { "SonyEricsson", 0x0fce, "K550i", 0xe000, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + + /* + * SonyEricsson/SONY Android devices usually have three personalities due to + * using composite descriptors and the fact that Windows cannot distinguish + * the device unless each composite descriptor is unique. + * + * Legend: + * MTP = Media Transfer Protocol + * UMS = USB Mass Storage Protocol + * ADB = Android Debug Bridge Protocol + * CDC = Communications Device Class, Internet Sharing + * + * 0x0nnn = MTP + * 0x4nnn = MTP + UMS (for CD-ROM) + * 0x5nnn = MTP + ADB + * 0x6nnn = UMS + ADB + * 0x7nnn = MTP + CDC + * 0x8nnn = MTP + CDC + ADB + * 0xannn = MTP + UMS (MTP for eMMC and UMS for external SD card) + * 0xbnnn = MTP + UMS + ADB + * 0xennn = UMS only + * + * The SonyEricsson and SONY devices have (at least) two deployed MTP + * stacks: Aricent and Android. These have different bug flags, and + * sometimes the same device has firmware upgrades moving it from + * the Aricent to Android MTP stack without changing the device + * VID+PID (first observed on the SK17i Xperia Mini Pro), so the + * detection has to be more elaborate. The code in libmtp.c will do + * this and assign the proper bug flags (hopefully). + * That is why DEVICE_FLAG_NONE is used for these devices. + * + * Devices reported by: + * Sony Mobile Communications (via Toby Collett) + * Jonas Salling + * Eamonn Webster + * Alejandro DC + * StehpanKa + * hdhoang + * Paul Taylor + * Bruno Basilio + * Christoffer Holmstedt + * equaeghe + * Ondra Lengal + * Michael K. + * Jean-François B. + * Eduard Bloch + * Ah Hong + * Eowyn Carter + */ + { "SonyEricsson", 0x0fce, "LT15i Xperia arc S MTP", 0x014f, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP", 0x0156, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP", 0x0157, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "MK16i Xperia MTP", 0x015a, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP", 0x015d, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST18a Xperia Ray MTP", 0x0161, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP", 0x0166, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP", 0x0167, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP", 0x0168, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26i Xperia S MTP", 0x0169, + DEVICE_FLAG_NO_ZERO_READS }, + { "SONY", 0x0fce, "WT19i Live Walkman MTP", 0x016d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST21i Xperia Tipo MTP", 0x0170, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST15i Xperia U MTP", 0x0171, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT22i Xperia P MTP", 0x0172, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "MT27i Xperia Sola MTP", 0x0173, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP", 0x0175, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP", 0x0176, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT28at Xperia Ion MTP", 0x0177, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT29i Xperia GX MTP", 0x0178, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP", 0x017e, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST23i Xperia Miro MTP", 0x0180, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-05D Xperia SX MTP", 0x0181, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT30p Xperia T MTP", 0x0182, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT25i Xperia V MTP", 0x0186, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia J MTP", 0x0188, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia ZL MTP", 0x0189, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia E MTP", 0x018c, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP 1", 0x018d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia L MTP", 0x0192, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP", 0x0193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP 2", 0x0194, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia SP MTP", 0x0195, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia M MTP", 0x019b, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z1 MTP", 0x019e, + DEVICE_FLAG_NONE }, + + + /* + * MTP+UMS personalities of MTP devices (see above) + */ + { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+CDROM", 0x4157, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+CDROM", 0x4168, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26i Xperia S MTP+CDROM", 0x4169, + DEVICE_FLAG_NO_ZERO_READS }, + { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+CDROM", 0x4170, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST25i Xperia U MTP+CDROM", 0x4171, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT22i Xperia P MTP+CDROM", 0x4172, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "MT27i Xperia Sola MTP+CDROM", 0x4173, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP+CDROM", 0x4175, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP+CDROM", 0x4176, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT28at Xperia Ion MTP+CDROM", 0x4177, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT29i Xperia GX MTP+CDROM", 0x4178, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+CDROM", 0x417e, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST23i Xperia Miro MTP+CDROM", 0x4180, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-05D Xperia SX MTP+CDROM", 0x4181, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT30p Xperia T MTP+CDROM", 0x4182, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT25i Xperia V MTP+CDROM", 0x4186, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia J MTP+CDROM", 0x4188, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia ZL MTP+CDROM", 0x4189, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia E MTP+CDROM", 0x418c, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP+CDROM 1", 0x418d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia L MTP+CDROM", 0x4192, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP+CDROM", 0x4193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP+CDROM 2", 0x4194, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia SP MTP+CDROM", 0x4195, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia M MTP+CDROM", 0x419b, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z1 MTP+CDROM", 0x419e, + DEVICE_FLAG_NONE }, + + /* + * MTP+ADB personalities of MTP devices (see above) + */ + { "SonyEricsson", 0x0fce, "LT15i Xperia Arc MTP+ADB", 0x514f, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP+ADB", 0x5156, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+ADB", 0x5157, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "MK16i Xperia MTP+ADB", 0x515a, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP+ADB", 0x515d, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST18i Xperia Ray MTP+ADB", 0x5161, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x5166, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP+ADB", 0x5167, + DEVICE_FLAG_NONE }, + { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+ADB", 0x5168, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT26i Xperia S MTP+ADB", 0x5169, + DEVICE_FLAG_NO_ZERO_READS }, + { "SonyEricsson", 0x0fce, "WT19i Live Walkman MTP+ADB", 0x516d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+ADB", 0x5170, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST25i Xperia U MTP+ADB", 0x5171, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT22i Xperia P MTP+ADB", 0x5172, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "MT27i Xperia Sola MTP+ADB", 0x5173, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+ADB", 0x5175, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+ADB", 0x5176, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT28at Xperia Ion MTP+ADB", 0x5177, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT29i Xperia GX MTP+ADB", 0x5178, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+ADB", 0x517e, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST23i Xperia Miro MTP+ADB", 0x5180, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-05D Xperia SX MTP+ADB", 0x5181, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT30p Xperia T MTP+ADB", 0x5182, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT25i Xperia V MTP+ADB", 0x5186, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia J MTP+ADB", 0x5188, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia ZL MTP+ADB", 0x5189, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia E MTP+ADB", 0x518c, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP+ADB 1", 0x518d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia L MTP+ADB", 0x5192, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP+ADB", 0x5193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP+ADB 2", 0x5194, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia SP MTP+ADB", 0x5195, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia M MTP+ADB", 0x519b, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z1 MTP+ADB", 0x519e, + DEVICE_FLAG_NONE }, + + /* + * MTP+UMS modes + * This mode is for using MTP on the internal storage (eMMC) + * and using UMS (Mass Storage Device Class) on the external + * SD card + */ + { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS", 0xa173, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+UMS", 0xa175, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+UMS", 0xa176, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS", 0xa177, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS", 0xa17e, + DEVICE_FLAG_NONE }, + + /* + * MTP+UMS+ADB modes + * Like the above, but also ADB + */ + { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS+ADB", 0xb173, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "IS12S Xperia Acro MTP+UMS+ADB", 0xb175, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "SO-03D Xperia Acro MTP+UMS+ADB", 0xb176, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS+ADB", 0xb177, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS+ADB", 0xb17e, + DEVICE_FLAG_NONE }, + + + /* + * Motorola + * Assume DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST on all of these. + */ + // Reported by David Boyd + { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65, + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + { "Motorola", 0x22b8, "Atrix/Razr HD (MTP)", 0x2e32, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Atrix/Razr HD (MTP+ADB)", 0x2e33, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "RAZR M XT907 (MTP)", 0x2e50, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "RAZR M XT907 (MTP+ADB)", 0x2e51, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Moto X (XT1053)", 0x2e62, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Moto X (XT1058)", 0x2e63, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Droid Maxx (XT1080)", 0x2e67, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Moto G", 0x2e82, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Jader Rodrigues Simoes + { "Motorola", 0x22b8, "Xoom 2 Media Edition (ID2)", 0x41cf, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Steven Roemen + { "Motorola", 0x22b8, "Droid X/MB525 (Defy)", 0x41d6, + DEVICE_FLAG_NONE }, + { "Motorola", 0x22b8, "DROID2 (ID1)", 0x41da, + DEVICE_FLAG_NONE }, + { "Motorola", 0x22b8, "Milestone / Verizon Droid", 0x41dc, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "DROID2 (ID2)", 0x42a7, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Xoom 2 Media Edition", 0x4311, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by B,H,Kissinger + { "Motorola", 0x22b8, "XT912/XT928", 0x4362, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Lundgren + { "Motorola", 0x22b8, "DROID4", 0x437f, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Marcus Meissner to libptp2 + { "Motorola", 0x22b8, "IdeaPad K1", 0x4811, + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // Reported by Hans-Joachim Baader to libptp2 + { "Motorola", 0x22b8, "A1200", 0x60ca, + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // http://mark.cdmaforums.com/Files/Motdmmtp.inf + { "Motorola", 0x22b8, "MTP Test Command Interface", 0x6413, + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // Reported by anonymous user + { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415, + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // Reported by Rodrigo Angelo Rafael + // Razr D1, D3 + { "Motorola", 0x22b8, "Razr D1/D3/i (MTP)", 0x64b5, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Brian Dolbec + { "Motorola", 0x22b8, "Atrix MB860 (MTP)", 0x7088, + DEVICE_FLAGS_ANDROID_BUGS }, + /* + * Motorola Xoom (Wingray) variants + * + * These devices seem to use these product IDs simulatenously + * https://code.google.com/p/android-source-browsing/source/browse/init.stingray.usb.rc?repo=device--moto--wingray + * + * 0x70a3 - Factory test - reported as early MTP ID + * 0x70a8 - MTP + * 0x70a9 - MTP+ADB + * 0x70ae - RNDIS + * 0x70af - RNDIS+ADB + * 0x70b0 - ACM + * 0x70b1 - ACM+ADB + * 0x70b2 - ACM+RNDIS + * 0x70b3 - ACM+RNDIS+ADB + * 0x70b4 - PTP + * 0x70b5 - PTP+ADB + * + * Reported by Google Inc's Yavor Goulishev + */ + { "Motorola", 0x22b8, "Xoom (Factory test)", 0x70a3, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Xoom (MTP)", 0x70a8, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Xoom (MTP+ADB)", 0x70a9, + DEVICE_FLAGS_ANDROID_BUGS }, + // "carried by C Spire and other CDMA US carriers" + { "Motorola", 0x22b8, "Milestone X2", 0x70ca, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "XT890/907/Razr (MTP)", 0x710d, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "XT890/907/Razr (MTP+ADB)", 0x710e, + DEVICE_FLAGS_ANDROID_BUGS }, + /* + * XT890/907/Razr + * 710f is USB mass storage + */ + + /* + * Google + * These guys lend their Vendor ID to anyone who comes down the + * road to produce an Android tablet it seems... The Vendor ID + * was originally used for Nexus phones + */ + { "Google Inc (for Allwinner)", 0x18d1, "A31 SoC", 0x0006, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for Ainol Novo)", 0x18d1, "Fire/Flame", 0x0007, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for Sony)", 0x18d1, "S1", 0x05b3, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous Sourceforge user + { "Google Inc (for Barnes & Noble)", 0x18d1, "Nook Color", 0x2d02, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous Sourceforge user + { "Google Inc (for Asus)", 0x18d1, "TF201 Transformer", 0x4d00, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous Sourceforge user + { "Google Inc (for Asus)", 0x18d1, "TF101 Transformer", 0x4e0f, + DEVICE_FLAGS_ANDROID_BUGS }, + // 0x4e21 (Nexus S) is a USB Mass Storage device. + { "Google Inc (for Samsung)", 0x18d1, "Nexus S (MTP)", 0x4e25, + DEVICE_FLAGS_ANDROID_BUGS }, + // 0x4e26 is also used by "Ramos W30HD Pro Quad Core" + { "Google Inc (for Samsung)", 0x18d1, "Nexus S (MTP+ADB)", 0x4e26, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Chris Smith + { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP)", 0x4e41, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Michael Hess + { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP+ADB)", 0x4e42, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for LG Electronics/Samsung)", 0x18d1, + "Nexus 4/5/7/10 (MTP)", 0x4ee1, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for LG Electronics/Samsung)", 0x18d1, + "Nexus 4/5/7/10 (MTP+ADB)", 0x4ee2, + DEVICE_FLAGS_ANDROID_BUGS }, + // WiFi-only version of Xoom + // See: http://bugzilla.gnome.org/show_bug.cgi?id=647506 + { "Google Inc (for Motorola)", 0x18d1, "Xoom (MZ604)", 0x70a8, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for Toshiba)", 0x18d1, "Thrive 7/AT105", 0x7102, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for Lenovo)", 0x18d1, "Ideapad K1", 0x740a, + DEVICE_FLAGS_ANDROID_BUGS }, + // Another OEM for Medion + { "Google Inc (for Medion)", 0x18d1, "MD99000 (P9514)", 0xb00a, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Frederik Himpe + { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus (Cyanogen)", + 0xd109, DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus", 0xd10a, + DEVICE_FLAGS_ANDROID_BUGS }, + + + /* + * Media Keg + */ + // Reported by Rajan Bella + { "Kenwood", 0x0b28, "Media Keg HD10GB7 Sport Player", 0x100c, DEVICE_FLAG_UNLOAD_DRIVER}, + + /* + * Micro-Star International (MSI) + */ + // Reported by anonymous sourceforge user. + { "Micro-Star International", 0x0db0, "P610/Model MS-5557", 0x5572, DEVICE_FLAG_NONE }, + + /* + * FOMA + */ + { "FOMA", 0x06d3, "D905i", 0x21ba, DEVICE_FLAG_NONE }, + + /* + * Haier + */ + // Both reported by an anonymous SourceForge user + // This is the 30 GiB model + { "Haier", 0x1302, "Ibiza Rhapsody 1", 0x1016, DEVICE_FLAG_NONE }, + // This is the 4/8 GiB model + { "Haier", 0x1302, "Ibiza Rhapsody 2", 0x1017, DEVICE_FLAG_NONE }, + + /* + * Panasonic + */ + // Reported by dmizer + { "Panasonic", 0x04da, "P905i", 0x2145, DEVICE_FLAG_NONE }, + // Reported by Taku + { "Panasonic", 0x04da, "P906i", 0x2158, DEVICE_FLAG_NONE }, + + /* + * Polaroid + */ + { "Polaroid", 0x0546, "Freescape/MPU-433158", 0x2035, DEVICE_FLAG_NONE }, + + /* + * Pioneer + */ + // Reported by Dan Allen + { "Pioneer", 0x08e4, "XMP3", 0x0148, DEVICE_FLAG_NONE }, + + /* + * Slacker Inc. + * Put in all evilness flags because it looks fragile. + */ + // Reported by Pug Fantus + { "Slacker Inc.", 0x1bdc, "Slacker Portable Media Player", 0xfabf, + DEVICE_FLAG_BROKEN_BATTERY_LEVEL | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST }, + + // Reported by anonymous user + { "Conceptronic", 0x1e53, "CMTD2", 0x0005, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by Demadridsur + { "O2 Sistemas", 0x1e53, "ZoltarTV", 0x0006, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + // Reported by da-beat + { "Wyplay", 0x1e53, "Wyplayer", 0x0007, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST }, + + // Reported by Sense Hofstede + { "Perception Digital, Ltd", 0x0aa6, "Gigaware GX400", 0x9702, DEVICE_FLAG_NONE }, + + /* + * RIM's BlackBerry + */ + // Reported by Nicolas VIVIEN + { "RIM", 0x0fca, "BlackBerry Storm/9650", 0x8007, DEVICE_FLAG_UNLOAD_DRIVER | + DEVICE_FLAG_SWITCH_MODE_BLACKBERRY | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL }, + + /* + * Nextar + */ + { "Nextar", 0x0402, "MA715A-8R", 0x5668, DEVICE_FLAG_NONE }, + + /* + * Coby + */ + { "Coby", 0x1e74, "COBY MP705", 0x6512, DEVICE_FLAG_NONE }, + +#if 0 + /* + * Apple devices, which are not MTP natively but can be made to speak MTP + * using PwnTunes (http://www.pwntunes.net/) + * CURRENTLY COMMENTED OUT: + * These will make the UDEV rules flag these as MTP devices even if + * PwnTunes is NOT installed. That is unacceptable, so a better solution + * that actually inspects if the device has PwnTunes/MTP support needs + * to be found, see: + * https://sourceforge.net/p/libmtp/bugs/759/ + */ + { "Apple", 0x05ac, "iPhone", 0x1290, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPod Touch 1st Gen", 0x1291, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPhone 3G", 0x1292, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPod Touch 2nd Gen", 0x1293, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPhone 3GS", 0x1294, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "0x1296", 0x1296, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "0x1297", 0x1297, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "0x1298", 0x1298, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPod Touch 3rd Gen", 0x1299, DEVICE_FLAG_NONE }, + { "Apple", 0x05ac, "iPad", 0x129a, DEVICE_FLAG_NONE }, +#endif + + // Reported by anonymous SourceForge user, also reported as + // Pantech Crux, claming to be: + // Manufacturer: Qualcomm + // Model: Windows Simulator + // Device version: Qualcomm MTP1.0 + { "Curitel Communications, Inc.", 0x106c, + "Verizon Wireless Device", 0x3215, DEVICE_FLAG_NONE }, + // Reported by: Jim Hanrahan + { "Pantech", 0x106c, "Crux", 0xf003, DEVICE_FLAG_NONE }, + + /* + * Asus + * Pattern of PIDs on Android devices seem to be: + * n+0 = MTP + * n+1 = MTP+ADB + * n+2 = ? + * n+3 = ? + * n+4 = PTP + */ + // Reported by Glen Overby + { "Asus", 0x0b05, "TF300 Transformer (MTP)", 0x4c80, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by jaile + { "Asus", 0x0b05, "TF300 Transformer (MTP+ADB)", 0x4c81, + DEVICE_FLAGS_ANDROID_BUGS }, + // Repored by Florian Apolloner + { "Asus", 0x0b05, "TF700 Transformer (MTP)", 0x4c90, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF700 Transformer (MTP+ADB)", 0x4c91, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "ME301T MeMo Pad Smart 10 (MTP)", 0x4cd0, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "ME301T MeMo Pad Smart 10 (MTP+ADB)", 0x4cd1, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Asus Fonepad Note 6 (MTP)", 0x4ce0, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Asus Fonepad Note 6 (MTP+ADB)", 0x4ce1, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF201 Transformer Prime (keyboard dock)", 0x4d00, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF201 Transformer Prime (tablet only)", 0x4d01, + DEVICE_FLAGS_ANDROID_BUGS }, + // 4d04 is the PTP mode, don't add it + { "Asus", 0x0b05, "SL101 (MTP)", 0x4e00, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "SL101 (MTP+ADB)", 0x4e01, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP)", 0x4e0f, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP+ADB)", 0x4e1f, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Fonepad", 0x514f, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "PadFone (MTP)", 0x5200, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "PadFone (MTP+ADB)", 0x5201, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "ME302C MemoPad (MTP+?)", 0x520f, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "PadFone 2 (MTP+?)", 0x5210, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "PadFone 2 (MTP)", 0x5211, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "ME302C MemoPad (MTP)", 0x521f, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Memo ME172V (MTP)", 0x5400, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Memo ME173X (MTP)", 0x5410, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "Memo ME173X (MTP+ADB)", 0x5411, + DEVICE_FLAGS_ANDROID_BUGS }, + + + /* + * Lenovo + */ + // Reported by Richard Körber + { "Lenovo", 0x17ef, "K1", 0x740a, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous sourceforge user + // Adding Android default bug flags since it appears to be an Android + { "Lenovo", 0x17ef, "ThinkPad Tablet", 0x741c, + DEVICE_FLAGS_ANDROID_BUGS }, + // Medion is using Lenovos manufacturer ID it seems. + // Reported by Thomas Goss + { "Medion", 0x17ef, "Lifetab P9516", 0x7483, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by: XChesser + { "Lenovo", 0x17ef, "P700", 0x7497, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by: anonymous sourceforge user + { "Lenovo", 0x17ef, "Lifetab S9512", 0x74cc, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Brian J. Murrell + { "Lenovo", 0x17ef, "IdeaTab A2109A", 0x7542, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by rvelev@mail.bg + { "Lenovo", 0x17ef, "IdeaPad A3000", 0x75be, + DEVICE_FLAGS_ANDROID_BUGS }, + + + /* + * Huawei + * IDs used by Honor U8860,U8815,U9200,P2 + */ + { "Huawei", 0x12d1, "MTP device (ID1)", 0x1051, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Huawei", 0x12d1, "MTP device (ID2)", 0x1052, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by Bearsh + { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * ZTE + * Android devices reported by junwang + */ + { "ZTE", 0x19d2, "V55 ID 1", 0x0244, DEVICE_FLAGS_ANDROID_BUGS }, + { "ZTE", 0x19d2, "V55 ID 2", 0x0245, DEVICE_FLAGS_ANDROID_BUGS }, + { "ZTE", 0x19d2, "V790/Blade 3", 0x0306, DEVICE_FLAGS_ANDROID_BUGS }, + { "ZTE", 0x19d2, "V880E", 0x0307, DEVICE_FLAGS_ANDROID_BUGS }, + { "ZTE", 0x19d2, "V985", 0x0383, DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * HTC (High Tech Computer Corp) + * Reporters: + * Steven Eastland + * Kevin Cheng + */ + // Reported by Markus Heberling + { "HTC", 0x0bb4, "Windows Phone 8X ID1", 0x0ba1, + DEVICE_FLAG_NONE }, + { "HTC", 0x0bb4, "Windows Phone 8X ID2", 0x0ba2, + DEVICE_FLAG_NONE }, + +#if 0 + /* + * This had to be commented out - the same VID+PID is used also for + * other modes than MTP, so we need to let mtp-probe do its job on this + * device instead of adding it to the database. + */ + { "HTC", 0x0bb4, "Android Device ID1 (Zopo, HD2, Bird...)", 0x0c02, + DEVICE_FLAGS_ANDROID_BUGS }, +#endif + { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID1)", 0x0c93, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID2)", 0x0ca8, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One S (ID1)", 0x0cec, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "One Mini (ID1)", 0x0dcd, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Desire X", 0x0dd5, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One (ID1)", 0x0dda, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Butterfly X290d", 0x0de4, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One (MTP+UMS+ADB)", 0x0dea, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Evo 4G LTE (ID1)", 0x0df5, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One S (ID2)", 0x0df8, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One S (ID3)", 0x0df9, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID1)", 0x0dfa, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0dfb, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID3)", 0x0dfc, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID4)", 0x0dfd, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Butterfly (ID1)", 0x0dfe, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "Droid DNA (MTP+UMS+ADB)", 0x0dff, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP)", 0x0e31, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP+ADB)", 0x0e32, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "Droid DNA (MTP+UMS)", 0x0ebd, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One (ID2)", 0x0f63, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One (MTP+ADB)", 0x0f87, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One (ID3)", 0x0f91, + DEVICE_FLAGS_ANDROID_BUGS }, +#if 0 + /* + * This had to be commented out - the same VID+PID is used also for + * other modes than MTP, so we need to let mtp-probe do its job on this + * device instead of adding it to the database. + * + * Apparently also used by a clone called Jiayu G2S + * with the MTK6577T chipset + * http://www.ejiayu.com/en/Product-19.html + * Wiko Cink Peax 2 + */ + { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008, + DEVICE_FLAGS_ANDROID_BUGS }, +#endif + // These identify themselves as "cm_tenderloin", fun... + // Done by HTC for HP I guess. + { "HTC (for Hewlett-Packard)", 0x0bb4, "HP Touchpad (MTP)", 0x685c, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC (for Hewlett-Packard)", 0x0bb4, "HP Touchpad (MTP+ADB)", 0x6860, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "Windows Phone 8s ID1", 0xf0ca, + DEVICE_FLAG_NONE }, + + + /* + * NEC + */ + { "NEC", 0x0409, "FOMA N01A", 0x0242, DEVICE_FLAG_NONE }, + { "NEC", 0x0409, "Casio C811", 0x0326, DEVICE_FLAG_NONE }, + { "NEC", 0x0409, "Casio CA-201L", 0x0432, DEVICE_FLAG_NONE }, + + /* + * nVidia + */ + // Found on Internet forum + { "nVidia", 0x0955, "CM9-Adam", 0x70a9, + DEVICE_FLAGS_ANDROID_BUGS }, + // Various pads such as Nabi2, Notion Ink Adam, Viewsonic G-Tablet + { "nVidia", 0x0955, "Various tablets (ID1)", 0x7100, + DEVICE_FLAGS_ANDROID_BUGS }, + { "nVidia", 0x0955, "Various tablets (ID2)", 0x7102, + DEVICE_FLAGS_ANDROID_BUGS }, + { "nVidia", 0x0955, "Shield (ID1)", 0xb400, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Vizio + * Reported by: + * Michael Gurski + */ + { "Vizio", 0x0489, "Unknown 1", 0xc026, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Vizio", 0x0489, "VTAB1008", 0xe040, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Vizio (for Lenovo)", 0x0489, "LIFETAB S9714", 0xe111, + DEVICE_FLAGS_ANDROID_BUGS }, + + + /* + * Amazon + */ + { "Amazon", 0x1949, "Kindle Fire 2G (ID1)", 0x0005, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Amazon", 0x1949, "Kindle Fire (ID1)", 0x0007, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Amazon", 0x1949, "Kindle Fire (ID2)", 0x0008, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Amazon", 0x1949, "Kindle Fire (ID3)", 0x000a, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Amazon", 0x1949, "Kindle Fire (ID4)", 0x000c, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Barnes&Noble + */ + { "Barnes&Noble", 0x2080, "Nook HD+", 0x0005, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Barnes&Noble", 0x2080, "Nook HD", 0x0006, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Viewpia, bq, YiFang + * Seems like some multi-branded OEM product line. + */ + { "Various", 0x2207, "Viewpia DR/bq Kepler", 0x0001, + DEVICE_FLAGS_ANDROID_BUGS }, + { "YiFang", 0x2207, "BQ Tesla", 0x0006, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Kobo + */ + // Reported by George Talusan + { "Kobo", 0x2237, "Arc (ID1)", 0xd108, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Kobo", 0x2237, "Arc (ID2)", 0xd109, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Hisense + */ + // Reported by Anonymous SourceForge users + { "Hisense", 0x109b, "E860 (ID1)", 0x9106, DEVICE_FLAGS_ANDROID_BUGS }, + { "Hisense", 0x109b, "E860 (ID2)", 0x9109, DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Intel + * Also sold rebranded as Orange products + */ + { "Intel", 0x8087, "Xolo 900/AZ210A", 0x09fb, DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Xiaomi + */ + { "Xiaomi", 0x2717, "Mi-3 (MTP)", 0x0368, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Xiaomi", 0x2717, "Mi-2 (MTP+ADB)", 0x9039, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Xiaomi", 0x2717, "Mi-2 (MTP)", 0xf003, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * XO Learning Tablet + * Also Trio Stealth G2 tablet it seems + */ + { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP+ADB)", 0x8005, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP)", 0x8006, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * SHARP Corporation + */ + { "SHARP Corporation", 0x0489, "SH930W", 0xc025, + DEVICE_FLAGS_ANDROID_BUGS }, + { "SHARP Corporation", 0x04dd, "SBM203SH", 0x9661, + DEVICE_FLAGS_ANDROID_BUGS }, + { "SHARP Corporation", 0x04dd, "SH-06E", 0x96ca, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * T & A Mobile phones Alcatel and TCT + */ + { "Alcatel", 0x1bbb, "One Touch 997D", 0x2008, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Alcatel/TCT", 0x1bbb, "6010D/TCL S950", 0x0167, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Alcatel", 0x1bbb, "6030a", 0x0168, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Kyocera + */ + { "Kyocera", 0x0482, "Rise", 0x0571, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * HiSense + */ + { "HiSense", 0x109b, "Sero 7 Pro", 0x9105, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Hewlett-Packard + */ + { "Hewlett-Packard", 0x03f0, "Slate 7 4600", 0x5c1d, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Hewlett-Packard", 0x03f0, "Slate 7 2800", 0x5d1d, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * MediaTek Inc. + */ + { "MediaTek Inc", 0x0e8d, "MT510R", 0x0050, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Jolla + */ + { "Jolla", 0x2931, "Sailfish", 0x0a01, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* + * Other strange stuff. + */ + { "Isabella", 0x0b20, "Her Prototype", 0xddee, DEVICE_FLAG_NONE }