summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2011-11-27 19:12:38 +0000
committerMarcus Meissner <marcus@jet.franken.de>2011-11-27 19:12:38 +0000
commit5bf7ee7671abe771c00c9c79394c6937a1a13b28 (patch)
tree9294829ff770f710ba9007cf8e965599363004ed
parente8d9517a24a982d00f75ae5fa8eb419701676c4e (diff)
downloadlibgphoto2-5bf7ee7671abe771c00c9c79394c6937a1a13b28.tar.gz
imported from libmtp
git-svn-id: https://svn.code.sf.net/p/gphoto/code/branches/libgphoto2-2_4/libgphoto2@13781 67ed7778-7388-44ab-90cf-0a291f65f57c
-rw-r--r--camlibs/ptp2/device-flags.h24
-rw-r--r--camlibs/ptp2/music-players.h260
2 files changed, 221 insertions, 63 deletions
diff --git a/camlibs/ptp2/device-flags.h b/camlibs/ptp2/device-flags.h
index e8bb6cbed..b98829def 100644
--- a/camlibs/ptp2/device-flags.h
+++ b/camlibs/ptp2/device-flags.h
@@ -65,9 +65,10 @@
*/
#define DEVICE_FLAG_UNLOAD_DRIVER 0x00000002
/**
- * This means that the PTP_OC_MTP_GetObjPropList is broken and
- * won't properly return all object properties if parameter 3
- * is set to 0xFFFFFFFFU.
+ * This means that the PTP_OC_MTP_GetObjPropList (9805)
+ * is broken in some way, either it doesn't work at all
+ * (as for Android devices) or it won't properly return all
+ * object properties if parameter 3 is set to 0xFFFFFFFFU.
*/
#define DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST 0x00000004
/**
@@ -266,3 +267,20 @@
* like this, so it's not done by default.
*/
#define DEVICE_FLAG_FORCE_RESET_ON_CLOSE 0x10000000
+/**
+ * Early Creative Zen (etc) models actually only support
+ * command 9805 (Get object property list) and will hang
+ * if you try to get individual properties of an object.
+ */
+#define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000
+/**
+ * All these bug flags need to be set on Android devices,
+ * they claim to support MTP operations they actually
+ * cannot handle, especially 9805 (Get object property list).
+ * These are auto-assigned to devices reporting
+ * "android.com" in their device extension descriptor.
+ */
+#define DEVICE_FLAGS_ANDROID_BUGS \
+ (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \
+ DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \
+ DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST)
diff --git a/camlibs/ptp2/music-players.h b/camlibs/ptp2/music-players.h
index 792f2bb8c..7a686b819 100644
--- a/camlibs/ptp2/music-players.h
+++ b/camlibs/ptp2/music-players.h
@@ -45,45 +45,79 @@
* some of the folders will start to disappear when getting all objects
* and properties.
*/
- { "Creative", 0x041e, "ZEN Vision", 0x411f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "Portable Media Center", 0x4123, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Xtra (MTP mode)", 0x4128, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Dell", 0x041e, "DJ (2nd generation)", 0x412f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Micro (MTP mode)", 0x4130, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Touch (MTP mode)", 0x4131, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Dell", 0x041e, "Dell Pocket DJ (MTP mode)", 0x4132, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN MicroPhoto (alternate version)", 0x4133, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Sleek (MTP mode)", 0x4137, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN MicroPhoto", 0x413c, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Sleek Photo", 0x413d, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
- { "Creative", 0x041e, "ZEN Vision:M", 0x413e, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ { "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 },
+ { "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,
+ { "Creative", 0x041e, "ZEN Vision:M (DVP-HD0004)", 0x4151,
DEVICE_FLAG_NO_RELEASE_INTERFACE |
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL},
+ 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_MTPGETOBJPROPLIST_ALL |
+ DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
{ "Creative", 0x041e, "ZEN Vision W", 0x4153,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ 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 <paul@kurczaba.com>
- { "Creative", 0x041e, "ZEN", 0x4157, DEVICE_FLAG_IGNORE_HEADER_ERRORS |
- DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ { "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 <mcroman@users.sourceforge.net>
{ "Creative", 0x041e, "ZEN V 2GB", 0x4158,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+ DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
// Reported by j norment <stormzen@gmail.com>
{ "Creative", 0x041e, "ZEN Mozaic", 0x4161,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+ DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
// Reported by Aaron F. Gonzalez <sub_tex@users.sourceforge.net>
{ "Creative", 0x041e, "ZEN X-Fi", 0x4162,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+ DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL },
// Reported by Todor Gyumyushev <yodor1@users.sourceforge.net>
{ "ZiiLABS", 0x041e, "Zii EGG", 0x6000,
DEVICE_FLAG_UNLOAD_DRIVER |
@@ -119,7 +153,7 @@
// 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 |
+ { "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 },
@@ -222,6 +256,12 @@
{ "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 <traaf@users.sourceforge.net>
+ // 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 },
// From a rouge .INF file
// this device ID seems to have been recycled for:
// the Samsung SGH-A707 Cingular cellphone
@@ -254,8 +294,11 @@
// Guessing on .spl flag, maybe needs NO_ZERO_READS, whatdoIknow
{ "Samsung", 0x04e8, "GT-S8500", 0x6819,
DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_PLAYLIST_SPL_V1 },
- // Reported by anonymous sourceforge user
- { "Samsung", 0x04e8, "GT-P7510/Galaxy Tab 10.1", 0x6860,
+ // Reported by anonymous sourceforge user - this is an Android
+ // device. It seems to be hard to use this device under Linux,
+ // which may be because it seems to implement fairly strong
+ // Microsoft DRM stuff.
+ { "Samsung", 0x04e8, "GT-P7510/Galaxy Tab 10.1/S2", 0x6860,
DEVICE_FLAG_UNLOAD_DRIVER |
DEVICE_FLAG_LONG_TIMEOUT },
// From: Erik Berglund <erikjber@users.sourceforge.net>
@@ -348,10 +391,15 @@
// 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 },
// from XNJB user
{ "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE },
-
/*
* Acer
*/
@@ -359,7 +407,8 @@
{ "Acer", 0x0502, "Iconia TAB A500 v1", 0x3325, DEVICE_FLAG_NONE },
// Reported by: Franck VDL <franckv@users.sourceforge.net>
{ "Acer", 0x0502, "Iconia TAB A500 v2", 0x3341, DEVICE_FLAG_NONE },
-
+ // Reported by: Arvin Schnell <arvins@users.sourceforge.net>
+ { "Acer", 0x0502, "Iconia TAB A100", 0x3349, DEVICE_FLAG_NONE },
/*
* SanDisk
@@ -464,7 +513,12 @@
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
@@ -581,6 +635,8 @@
* Dell
*/
{ "Dell, Inc", 0x413c, "DJ Itty", 0x4500, DEVICE_FLAG_NONE },
+ /* Reported by: JR */
+ { "Dell, Inc", 0x413c, "Dell Streak 7", 0xb10b, DEVICE_FLAGS_ANDROID_BUGS },
/*
* Toshiba
@@ -667,6 +723,8 @@
{ "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 },
+ // Reported by Till <Till@users.sourceforge.net>
+ { "Archos", 0x0e79, "101 G9", 0x1528, DEVICE_FLAG_UNLOAD_DRIVER },
/*
* Dunlop (OEM of EGOMAN ltd?) reported by Nanomad
@@ -675,6 +733,10 @@
* 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 <stevenblack1956@users.sourceforge.net>
@@ -748,6 +810,9 @@
// 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 },
@@ -779,8 +844,12 @@
{ "Nokia", 0x0421, "N8", 0x02fe, DEVICE_FLAG_NONE },
// From: Lan Liu at Nokia <lan.liu@nokia.com>
{ "Nokia", 0x0421, "N8 (Ovi mode)", 0x0302, DEVICE_FLAG_NONE },
+ // From: Martijn Hoogendoorn <m.hoogendoorn@gmail.com>
+ { "Nokia", 0x0421, "E7", 0x0334, DEVICE_FLAG_NONE },
// From: Raul Metsma <raul@innovaatik.ee>
- { "Nokia", 0x0421, "E7", 0x0335, DEVICE_FLAG_NONE },
+ { "Nokia", 0x0421, "E7 (Ovi mode)", 0x0335, 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
@@ -1114,6 +1183,14 @@
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
DEVICE_FLAG_UNIQUE_FILENAMES |
DEVICE_FLAG_FORCE_RESET_ON_CLOSE },
+ // Reported by anonymous SourceForge user
+ { "Sony", 0x054c, "Walkman NWZ-W252B", 0x04bb,
+ DEVICE_FLAG_UNLOAD_DRIVER |
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+ DEVICE_FLAG_UNIQUE_FILENAMES |
+ DEVICE_FLAG_FORCE_RESET_ON_CLOSE },
+ // Suspect this device has strong DRM features
+ // See https://answers.launchpad.net/ubuntu/+source/libmtp/+question/149587
{ "Sony", 0x054c, "Walkman NWZ-B153F", 0x04be,
DEVICE_FLAG_UNLOAD_DRIVER |
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
@@ -1143,47 +1220,80 @@
* for now.
*/
// Reported by Thomas Schweitzer <thomas_-_s@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "K550i", 0xe000, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "K550i", 0xe000,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Øyvind Stegard <stegaro@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "K850i", 0x0075, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "K850i", 0x0075,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Michael Eriksson
- { "SonyEricsson", 0x0fce, "W910", 0x0076, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W910", 0x0076,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Zack <zackdvd@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "W890i", 0x00b3, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W890i", 0x00b3,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by robert dot ahlskog at gmail
- { "SonyEricsson", 0x0fce, "W760i", 0x00c6, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W760i", 0x00c6,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Linus Åkesson <linusakesson@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "C902", 0x00d4, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "C902", 0x00d4,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by an anonymous SourceForge user
- { "SonyEricsson", 0x0fce, "C702", 0x00d9, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "C702", 0x00d9,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Christian Zuckschwerdt <christian@zuckschwerdt.org>
- { "SonyEricsson", 0x0fce, "W980", 0x00da, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W980", 0x00da,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by David Taylor <davidt-libmtp@yadt.co.uk>
- { "SonyEricsson", 0x0fce, "C905", 0x00ef, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "C905", 0x00ef,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by David House <dmhouse@users.sourceforge.net>
{ "SonyEricsson", 0x0fce, "W595", 0x00f3,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+ DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
// Reported by Mattias Evensson <mevensson@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "W902", 0x00f5, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W902", 0x00f5,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Sarunas <sarunas@users.sourceforge.net>
// Doesn't need any flags according to reporter
- { "SonyEricsson", 0x0fce, "T700", 0x00fb, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ { "SonyEricsson", 0x0fce, "T700", 0x00fb,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
// Reported by Stéphane Pontier <shadow_walker@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "W705/W715", 0x0105, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W705/W715", 0x0105,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Håkan Kvist
- { "SonyEricsson", 0x0fce, "W995", 0x0112, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W995", 0x0112,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by anonymous SourceForge user
- { "SonyEricsson", 0x0fce, "U5", 0x0133, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "U5", 0x0133,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Flo <lhugsereg@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "U8i", 0x013a, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "U8i", 0x013a,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by xirotyu <xirotyu@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "j10i2 (Elm)", 0x0144, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "j10i2 (Elm)", 0x0144,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ // Reported by Serge Chirik <schirik@users.sourceforge.net>
+ { "SonyEricsson", 0x0fce, "j108i (Cedar)", 0x014e,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Jonas Salling <>
// Erroneous MTP implementation seems to be from Aricent, returns
// broken transaction ID.
- { "SonyEricsson", 0x0fce, "LT15i (Xperia arc)", 0x14f, DEVICE_FLAG_IGNORE_HEADER_ERRORS },
+ { "SonyEricsson", 0x0fce, "LT15i (Xperia arc)", 0x14f,
+ DEVICE_FLAG_IGNORE_HEADER_ERRORS },
+ // Reported by Eamonn Webster <eweb@users.sourceforge.net>
+ // Guessing on the ignore errors flag
+ { "SonyEricsson", 0x0fce, "Xperia Neo", 0x0156,
+ DEVICE_FLAG_IGNORE_HEADER_ERRORS },
+ // Reported by <wealas@users.sourceforge.net>
+ { "SonyEricsson", 0x0fce, "ST18a", 0x161,
+ DEVICE_FLAG_IGNORE_HEADER_ERRORS },
// Reported by Jonas Nyrén <spectralmks@users.sourceforge.net>
- { "SonyEricsson", 0x0fce, "W302", 0x10c8, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ { "SonyEricsson", 0x0fce, "W302", 0x10c8,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+ // Reported by Anonymous Sourceforge user
+ { "SonyEricsson", 0x0fce, "j10i (Elm)", 0xd144,
+ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+
/*
@@ -1210,7 +1320,8 @@
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
// Reported by Marcus Meissner to libptp2
- { "Motorola", 0x22b8, "K1", 0x4811, DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
+ { "Motorola", 0x22b8, "IdeaPad K1", 0x4811,
+ DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
// Reported by Hans-Joachim Baader <hjb@pro-linux.de> to libptp2
{ "Motorola", 0x22b8, "A1200", 0x60ca,
DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
@@ -1223,16 +1334,23 @@
// Reported by Google Inc's Yavor Goulishev <yavor@google.com>
// Android 3.0 MTP stack seems to announce that it supports the
// list operations, but they do not work?
- { "Motorola", 0x22b8, "Xoom (ID 1)", 0x70a8,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
- DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
- DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
- { "Motorola", 0x22b8, "Xoom (ID 2)", 0x70a9,
- DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
- DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
- DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+ { "Motorola", 0x22b8, "Xoom (ID 1)", 0x70a8, DEVICE_FLAGS_ANDROID_BUGS },
/*
+ * 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 Sony)", 0x18d1, "S1", 0x05b3,
+ 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 Motorola)", 0x22b8, "Xoom (ID 2)", 0x70a9,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /*
* Media Keg
*/
// Reported by Rajan Bella <rajanbella@yahoo.com>
@@ -1326,8 +1444,30 @@
/*
* Asus
*/
- { "Asus", 0x0b05, "TF101 Eeepad Transformer", 0x4e0f, DEVICE_FLAG_NONE },
- { "Asus", 0x0b05, "FT101 Eeepad Transformer", 0x4e1f, DEVICE_FLAG_NONE },
+ { "Asus", 0x0b05, "TF101 Eeepad Transformer", 0x4e0f,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ { "Asus", 0x0b05, "TF101 Eeepad Transformer (debug mode)", 0x4e1f,
+ DEVICE_FLAGS_ANDROID_BUGS },
+
+
+ /*
+ * Lenovo
+ */
+ // Reported by Richard Körber <shredzone@users.sourceforge.net>
+ { "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 },
+
+
+ /*
+ * ZTE
+ * Android devices reported by junwang <lovewjlove@users.sourceforge.net>
+ */
+ { "ZTE", 0x19d2, "V55 ID 1", 0x0244, DEVICE_FLAGS_ANDROID_BUGS },
+ { "ZTE", 0x19d2, "V55 ID 2", 0x0245, DEVICE_FLAGS_ANDROID_BUGS },
/*
* Other strange stuff.