diff --git a/src/calibre/devices/mtp/unix/devices.c b/src/calibre/devices/mtp/unix/devices.c index b6d50bac5b..2efe02c38f 100644 --- a/src/calibre/devices/mtp/unix/devices.c +++ b/src/calibre/devices/mtp/unix/devices.c @@ -11,18 +11,6 @@ const calibre_device_entry_t calibre_mtp_device_table[] = { #include "upstream/music-players.h" - // Amazon Kindle Fire HD - , { "Amazon", 0x1949, "Fire HD", 0x0007, DEVICE_FLAGS_ANDROID_BUGS} - , { "Amazon", 0x1949, "Fire HD", 0x0008, DEVICE_FLAGS_ANDROID_BUGS} - , { "Amazon", 0x1949, "Fire HD", 0x000a, DEVICE_FLAGS_ANDROID_BUGS} - - // Nexus 10 - , { "Google", 0x18d1, "Nexus 10", 0x4ee2, DEVICE_FLAGS_ANDROID_BUGS} - , { "Google", 0x18d1, "Nexus 10", 0x4ee1, DEVICE_FLAGS_ANDROID_BUGS} - - // Kobo Arc - , { "Kobo", 0x2237, "Arc", 0xd108, DEVICE_FLAGS_ANDROID_BUGS} - , { NULL, 0xffff, NULL, 0xffff, DEVICE_FLAG_NONE } }; diff --git a/src/calibre/devices/mtp/unix/upstream/music-players.h b/src/calibre/devices/mtp/unix/upstream/music-players.h index 33c7b1f926..c7a9b80bce 100644 --- a/src/calibre/devices/mtp/unix/upstream/music-players.h +++ b/src/calibre/devices/mtp/unix/upstream/music-players.h @@ -294,6 +294,13 @@ 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, @@ -309,6 +316,7 @@ 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 @@ -393,7 +401,9 @@ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_LONG_TIMEOUT | - DEVICE_FLAG_PROPLIST_OVERRIDES_OI }, + DEVICE_FLAG_PROPLIST_OVERRIDES_OI | + DEVICE_FLAG_OGG_IS_UNKNOWN | + DEVICE_FLAG_FLAC_IS_UNKNOWN }, // Reported by David Goodenough // Guessing on flags. { "Samsung", 0x04e8, "Galaxy Y", 0x685e, @@ -401,14 +411,18 @@ DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_LONG_TIMEOUT | - DEVICE_FLAG_PROPLIST_OVERRIDES_OI }, + 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_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. @@ -419,7 +433,9 @@ { "Samsung", 0x04e8, "Galaxy models Kies mode", 0x6877, DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_LONG_TIMEOUT | - DEVICE_FLAG_PROPLIST_OVERRIDES_OI }, + 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, @@ -439,7 +455,6 @@ */ { "Microsoft/Intel", 0x045e, "Bandon Portable Media Center", 0x00c9, DEVICE_FLAG_NONE }, - // Reported by anonymous sourceforge user // HTC Mozart is using the PID, as is Nokia Lumia 800 // May need MTPZ to work { "Microsoft", 0x045e, "Windows Phone", 0x04ec, DEVICE_FLAG_NONE }, @@ -450,12 +465,12 @@ { "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 }, - // Reported by anonymous sourceforge user { "Microsoft", 0x045e, "Kin 1", 0x0640, DEVICE_FLAG_NONE }, - // Reported by anonymous sourceforge user { "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 @@ -517,33 +532,52 @@ // 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 */ - // Reported by anonymous sourceforge user - { "Acer", 0x0502, "Iconia TAB A500 (ID1)", 0x3325, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by: Franck VDL - { "Acer", 0x0502, "Iconia TAB A500 (ID2)", 0x3341, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by: Matthias Arndt - { "Acer", 0x0502, "Iconia TAB A501", 0x3344, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by: anonymous sourceforge user - { "Acer", 0x0502, "Iconia TAB A100 (ID1)", 0x3348, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by: Arvin Schnell - { "Acer", 0x0502, "Iconia TAB A100 (ID2)", 0x3349, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by Philippe Marzouk - { "Acer", 0x0502, "Iconia TAB A700", 0x3378, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user - { "Acer", 0x0502, "Iconia TAB A200 (ID1)", 0x337c, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user - { "Acer", 0x0502, "Iconia TAB A200 (ID2)", 0x337d, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by nE0sIghT - { "Acer", 0x0502, "Iconia TAB A510", 0x338a, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by 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 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, "E350 Liquid Gallant Duo", 0x33c3, DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A210", 0x33cb, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Acer", 0x0502, "Iconia TAB A110", 0x33d8, + DEVICE_FLAGS_ANDROID_BUGS }, + + /* * SanDisk @@ -743,7 +777,11 @@ { "iRiver", 0x4102, "E50", 0x1151, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_OGG_IS_UNKNOWN }, - // Reported by Jakub Matraszek + // 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 }, @@ -877,8 +915,10 @@ { "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_FLAG_UNLOAD_DRIVER }, - // Reported by anonymous Sourceforge user + { "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, "8o G9 (MTP mode)", 0x1508, DEVICE_FLAG_UNLOAD_DRIVER }, // Reported by Clément { "Archos", 0x0e79, "8o G9 Turbo (MTP mode)", 0x1509, @@ -887,14 +927,10 @@ { "Archos", 0x0e79, "80G9", 0x1518, DEVICE_FLAGS_ANDROID_BUGS }, // Reported by Till { "Archos", 0x0e79, "101 G9", 0x1528, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user { "Archos", 0x0e79, "101 G9 (v2)", 0x1529, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user { "Archos", 0x0e79, "101 G9 Turbo 250 HD", 0x1538, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user { "Archos", 0x0e79, "101 G9 Turbo", 0x1539, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous sourceforge user { "Archos", 0x0e79, "70it2 (mode 1)", 0x1568, DEVICE_FLAGS_ANDROID_BUGS }, // Reported by Sebastien ROHAUT { "Archos", 0x0e79, "70it2 (mode 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS }, @@ -1075,6 +1111,10 @@ DEVICE_FLAG_UNLOAD_DRIVER }, // From: Maxin B. John { "Nokia", 0x0421, "N9", 0x051a, DEVICE_FLAG_NONE }, + { "Nokia", 0x0421, "C5-00", 0x0592, 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 }, // Reported by Richard Wall { "Nokia", 0x05c6, "5530 Xpressmusic", 0x0229, DEVICE_FLAG_NONE }, // Reported by anonymous SourceForge user @@ -1109,9 +1149,12 @@ { "Thomson / RCA", 0x069b, "Lyra HC308A", 0x3035, DEVICE_FLAG_NONE }, /* - * NTT DoCoMo + * Fujitsu devices */ - { "FOMA", 0x04c5, "F903iX HIGH-SPEED", 0x1140, DEVICE_FLAG_NONE }, + { "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 @@ -1254,7 +1297,6 @@ /* * LG Electronics */ - // From anonymous SourceForge user // Uncertain if this is really the MTP mode device ID... { "LG Electronics Inc.", 0x043e, "T54", 0x7040, DEVICE_FLAG_UNLOAD_DRIVER }, @@ -1271,20 +1313,20 @@ { "LG Electronics Inc.", 0x1004, "GR-500 Music Player", 0x611b, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR }, - // Reported by anonymous sourceforge user { "LG Electronics Inc.", 0x1004, "KM900", 0x6132, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_UNLOAD_DRIVER }, - // Reported by anonymous sourceforge user { "LG Electronics Inc.", 0x1004, "LG8575", 0x619a, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_UNLOAD_DRIVER }, - // Reported by anonymous sourceforge user { "LG Electronics Inc.", 0x1004, "V909 G-Slate", 0x61f9, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_UNLOAD_DRIVER }, + { "LG Electronics Inc.", 0x1004, "LG2 Optimus", 0x6225, + DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | + DEVICE_FLAG_UNLOAD_DRIVER }, // Reported by Brian J. Murrell - { "LG Electronics Inc.", 0x1004, "LG-E617G/P700", 0x631c, + { "LG Electronics Inc.", 0x1004, "LG-E610/E612/E617G/E970/P700", 0x631c, DEVICE_FLAGS_ANDROID_BUGS }, /* @@ -1294,69 +1336,69 @@ * reported to see a pattern here. */ // Reported by Alessandro Radaelli - { "Sony", 0x054c, "Walkman NWZ-A815/NWZ-A818", 0x0325, + { "Sony", 0x054c, "NWZ-A815/NWZ-A818", 0x0325, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by anonymous Sourceforge user. - { "Sony", 0x054c, "Walkman NWZ-S516", 0x0326, + { "Sony", 0x054c, "NWZ-S516", 0x0326, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Endre Oma - { "Sony", 0x054c, "Walkman NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327, + { "Sony", 0x054c, "NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Jean-Marc Bourguet - { "Sony", 0x054c, "Walkman NWZ-S716F", 0x035a, + { "Sony", 0x054c, "NWZ-S716F", 0x035a, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Anon SF User / Anthon van der Neut - { "Sony", 0x054c, "Walkman NWZ-A826/NWZ-A828/NWZ-A829", 0x035b, + { "Sony", 0x054c, "NWZ-A826/NWZ-A828/NWZ-A829", 0x035b, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Niek Klaverstijn - { "Sony", 0x054c, "Walkman NWZ-A726/NWZ-A728/NWZ-A768", 0x035c, + { "Sony", 0x054c, "NWZ-A726/NWZ-A728/NWZ-A768", 0x035c, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Mehdi AMINI - { "Sony", 0x054c, "Walkman NWZ-B135", 0x036e, + { "Sony", 0x054c, "NWZ-B135", 0x036e, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by - { "Sony", 0x054c, "Walkman NWZ-E436F", 0x0385, + { "Sony", 0x054c, "NWZ-E436F", 0x0385, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Michael Wilkinson - { "Sony", 0x054c, "Walkman NWZ-W202", 0x0388, + { "Sony", 0x054c, "NWZ-W202", 0x0388, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Ondrej Sury - { "Sony", 0x054c, "Walkman NWZ-S739F", 0x038c, + { "Sony", 0x054c, "NWZ-S739F", 0x038c, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Marco Filipe Nunes Soares Abrantes Pereira - { "Sony", 0x054c, "Walkman NWZ-S638F", 0x038e, + { "Sony", 0x054c, "NWZ-S638F", 0x038e, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Elliot - { "Sony", 0x054c, "Walkman NWZ-X1050B/NWZ-X1060B", + { "Sony", 0x054c, "NWZ-X1050B/NWZ-X1060B", 0x0397, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Silvio J. Gutierrez - { "Sony", 0x054c, "Walkman NWZ-X1051/NWZ-X1061", 0x0398, + { "Sony", 0x054c, "NWZ-X1051/NWZ-X1061", 0x0398, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Gregory Boddin - { "Sony", 0x054c, "Walkman NWZ-B142F", 0x03d8, + { "Sony", 0x054c, "NWZ-B142F", 0x03d8, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Rick Warner - { "Sony", 0x054c, "Walkman NWZ-E344", 0x03fc, + { "Sony", 0x054c, "NWZ-E344/E345", 0x03fc, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Jonathan Stowe - { "Sony", 0x054c, "Walkman NWZ-E445", 0x03fd, + { "Sony", 0x054c, "NWZ-E445", 0x03fd, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Anonymous SourceForge user - { "Sony", 0x054c, "Walkman NWZ-S545", 0x03fe, + { "Sony", 0x054c, "NWZ-S545", 0x03fe, DEVICE_FLAGS_SONY_NWZ_BUGS }, - { "Sony", 0x054c, "Walkman NWZ-A845", 0x0404, + { "Sony", 0x054c, "NWZ-A845", 0x0404, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by anonymous SourceForge user - { "Sony", 0x054c, "Walkman NWZ-W252B", 0x04bb, + { "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, "Walkman NWZ-B153F", 0x04be, + { "Sony", 0x054c, "NWZ-B153F", 0x04be, DEVICE_FLAGS_SONY_NWZ_BUGS }, - { "Sony", 0x054c, "Walkman NWZ-E354", 0x04cb, + { "Sony", 0x054c, "NWZ-E354", 0x04cb, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Toni Burgarello - { "Sony", 0x054c, "Walkman NWZ-S754", 0x04cc, + { "Sony", 0x054c, "NWZ-S754", 0x04cc, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Hideki Yamane { "Sony", 0x054c, "Sony Tablet P1", 0x04d1, @@ -1364,9 +1406,7 @@ // Reported by dmiceman { "Sony", 0x054c, "NWZ-B163F", 0x059a, DEVICE_FLAGS_SONY_NWZ_BUGS }, - // Reported by anonymous Sourceforge user - // guessing on device flags... - { "Sony", 0x054c, "Walkman NWZ-E464", 0x05a6, + { "Sony", 0x054c, "NWZ-E464", 0x05a6, DEVICE_FLAGS_SONY_NWZ_BUGS }, // Reported by Jan Rheinlaender { "Sony", 0x054c, "NWZ-S765", 0x05a8, @@ -1377,7 +1417,8 @@ // Reported by ghalambaz { "Sony", 0x054c, "Sony Tablet S1", 0x05b4, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by Anonymous SourceForge user + { "Sony", 0x054c, "NWZ-B173F", 0x0689, + DEVICE_FLAGS_SONY_NWZ_BUGS }, { "Sony", 0x054c, "DCR-SR75", 0x1294, DEVICE_FLAGS_SONY_NWZ_BUGS }, @@ -1496,6 +1537,7 @@ * Jean-François B. * Eduard Bloch * Ah Hong + * Eowyn Carter */ { "SonyEricsson", 0x0fce, "LT15i Xperia arc S MTP", 0x014f, DEVICE_FLAG_NONE }, @@ -1503,6 +1545,8 @@ 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, @@ -1533,12 +1577,26 @@ 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", 0x018D, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP", 0x0193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x0194, + DEVICE_FLAG_NONE }, /* * MTP+UMS personalities of MTP devices (see above) @@ -1565,12 +1623,26 @@ 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", 0x4189, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia E MTP+CDROM", 0x418c, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x418d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP", 0x4193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x4194, + DEVICE_FLAG_NONE }, /* * MTP+ADB personalities of MTP devices (see above) @@ -1579,20 +1651,20 @@ DEVICE_FLAG_NONE }, { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP+ADB", 0x5156, 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, "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, "LT26i Xperia S MTP+ADB", 0x5169, + { "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, "SK17i Xperia Mini Pro MTP+ADB", 0x516d, DEVICE_FLAG_NONE }, { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+ADB", 0x5170, @@ -1613,12 +1685,26 @@ 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", 0x5189, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia E MTP+ADB", 0x518c, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x518d, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Z MTP", 0x5193, + DEVICE_FLAG_NONE }, + { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x5194, + DEVICE_FLAG_NONE }, /* * MTP+UMS modes @@ -1661,17 +1747,23 @@ { "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)", 0x2e51, + 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 }, - // Reported by anonymous user + { "Motorola", 0x22b8, "DROID2 (ID1)", 0x41da, + DEVICE_FLAG_NONE }, { "Motorola", 0x22b8, "Milestone / Verizon Droid", 0x41dc, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous user - { "Motorola", 0x22b8, "DROID2", 0x42a7, + { "Motorola", 0x22b8, "DROID2 (ID2)", 0x42a7, DEVICE_FLAGS_ANDROID_BUGS }, { "Motorola", 0x22b8, "Xoom 2 Media Edition", 0x4311, DEVICE_FLAGS_ANDROID_BUGS }, @@ -1693,6 +1785,9 @@ // Reported by anonymous user { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415, DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST }, + // Reported by Brian Dolbec + { "Motorola", 0x22b8, "Atrix MB860 (MTP)", 0x7088, + DEVICE_FLAGS_ANDROID_BUGS }, /* * Motorola Xoom (Wingray) variants * @@ -1719,9 +1814,15 @@ DEVICE_FLAGS_ANDROID_BUGS }, { "Motorola", 0x22b8, "Xoom (MTP+ADB)", 0x70a9, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous Sourceforge user // "carried by C Spire and other CDMA US carriers" - { "Motorola", 0x22b8, "Milestone X2", 0x70ca, DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "Milestone X2", 0x70ca, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "XT890/907 (MTP)", 0x710d, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "XT890/907 (MTP+ADB)", 0x710e, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Motorola", 0x22b8, "XT890/907 (MTP+?)", 0x710f, + DEVICE_FLAGS_ANDROID_BUGS }, /* * Google @@ -1729,23 +1830,32 @@ * road to produce an Android tablet it seems... The Vendor ID * was originally used for Nexus phones */ + { "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 }, - // Reported by Laurent Artaud - { "Google Inc (for Samsung)", 0x18d1, "Nexus S", 0x4e21, - DEVICE_FLAGS_ANDROID_BUGS }, + // 0x4e21 (Nexus S) is a USB Mass Storage device. // 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/10 (MTP)", 0x4ee1, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Google Inc (for LG Electronics/Samsung)", 0x18d1, + "Nexus 4/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, @@ -1845,9 +1955,16 @@ */ { "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 }, @@ -1859,6 +1976,7 @@ { "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: @@ -1872,30 +1990,48 @@ /* * 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", 0x4c80, + { "Asus", 0x0b05, "TF300 Transformer (MTP)", 0x4c80, DEVICE_FLAGS_ANDROID_BUGS }, // Reported by jaile - { "Asus", 0x0b05, "TF300 Transformer (USB debug mode)", 0x4c81, + { "Asus", 0x0b05, "TF300 Transformer (MTP+ADB)", 0x4c81, DEVICE_FLAGS_ANDROID_BUGS }, // Repored by Florian Apolloner - { "Asus", 0x0b05, "TF700 Transformer", 0x4c90, + { "Asus", 0x0b05, "TF700 Transformer (MTP)", 0x4c90, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "TF700 Transformer (MTP+ADB)", 0x4c91, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "MeMo Pad Smart 10", 0x4cd0, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous Sourceforge user { "Asus", 0x0b05, "TF201 Transformer Prime (keyboard dock)", 0x4d00, DEVICE_FLAGS_ANDROID_BUGS }, { "Asus", 0x0b05, "TF201 Transformer Prime (tablet only)", 0x4d01, DEVICE_FLAGS_ANDROID_BUGS }, - { "Asus", 0x0b05, "TFXXX Transformer Prime (unknown version)", 0x4d04, + // 4d04 is the PTP mode, don't add it + { "Asus", 0x0b05, "SL101 (MTP)", 0x4e00, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous Sourceforge user - { "Asus", 0x0b05, "TF101 Eeepad Slider", 0x4e01, + { "Asus", 0x0b05, "SL101 (MTP+ADB)", 0x4e01, DEVICE_FLAGS_ANDROID_BUGS }, - { "Asus", 0x0b05, "TF101 Eeepad Transformer", 0x4e0f, + { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP)", 0x4e0f, DEVICE_FLAGS_ANDROID_BUGS }, - { "Asus", 0x0b05, "TF101 Eeepad Transformer (debug mode)", 0x4e1f, + { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP+ADB)", 0x4e1f, 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, "PadFone 2 (MTP+?)", 0x5210, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Asus", 0x0b05, "PadFone 2 (MTP)", 0x5211, + DEVICE_FLAGS_ANDROID_BUGS }, + /* @@ -1914,17 +2050,26 @@ // 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 }, /* * Huawei */ // Reported by anonymous SourceForge user - { "Huawei", 0x12d1, "Honor U8860", 0x1051, DEVICE_FLAGS_ANDROID_BUGS }, + { "Huawei", 0x12d1, "Honor U8860", 0x1051, + DEVICE_FLAGS_ANDROID_BUGS }, // Reported by anonymous SourceForge user - { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f, DEVICE_FLAGS_ANDROID_BUGS }, + { "Huawei", 0x12d1, "U8815/U9200", 0x1052, + DEVICE_FLAGS_ANDROID_BUGS }, + // Reported by anonymous SourceForge user + { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f, + DEVICE_FLAGS_ANDROID_BUGS }, // Reported by Bearsh - { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f, DEVICE_FLAGS_ANDROID_BUGS }, + { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f, + DEVICE_FLAGS_ANDROID_BUGS }, /* * ZTE @@ -1932,27 +2077,61 @@ */ { "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 }, /* * HTC (High Tech Computer Corp) + * Reporters: + * Steven Eastland + * Kevin Cheng */ - { "HTC", 0x0bb4, "Zopo ZP100 (ID1)", 0x0c02, +#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 }, - // Reported by Steven Eastland - { "HTC", 0x0bb4, "EVO 4G LTE", 0x0c93, +#endif + { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID1)", 0x0c93, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by Steven Eastland - { "HTC", 0x0bb4, "EVO 4G LTE (second ID)", 0x0ca8, + { "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, "HTC Evo 4G LTE (ID1)", 0x0df5, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One S (ID2)", 0x0df9, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID1)", 0x0dfb, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0dfc, + DEVICE_FLAGS_ANDROID_BUGS }, + { "HTC", 0x0bb4, "HTC One X (ID3)", 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 X (ID2)", 0x0f91, DEVICE_FLAGS_ANDROID_BUGS }, // These identify themselves as "cm_tenderloin", fun... // Done by HTC for HP I guess. - { "Hewlett-Packard", 0x0bb4, "HP Touchpad", 0x685c, + { "Hewlett-Packard", 0x0bb4, "HP Touchpad (MTP)", 0x685c, DEVICE_FLAGS_ANDROID_BUGS }, - { "Hewlett-Packard", 0x0bb4, "HP Touchpad (debug mode)", - 0x6860, DEVICE_FLAGS_ANDROID_BUGS }, - // Reported by anonymous SourceForge user - { "HTC", 0x0bb4, "Zopo ZP100 (ID2)", 0x2008, + { "Hewlett-Packard", 0x0bb4, "HP Touchpad (MTP+ADB)", 0x6860, DEVICE_FLAGS_ANDROID_BUGS }, +#if 0 + { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008, + DEVICE_FLAGS_ANDROID_BUGS }, +#endif /* * NEC @@ -1963,7 +2142,12 @@ * nVidia */ // Found on Internet forum - { "nVidia", 0x0955, "CM9-Adam", 0x70a9, DEVICE_FLAGS_ANDROID_BUGS }, + { "nVidia", 0x0955, "CM9-Adam", 0x70a9, + DEVICE_FLAGS_ANDROID_BUGS }, + { "nVidia", 0x0955, "Nabi2 Tablet (ID1)", 0x7100, + DEVICE_FLAGS_ANDROID_BUGS }, + { "nVidia", 0x0955, "Nabi2 Tablet (ID2)", 0x7102, + DEVICE_FLAGS_ANDROID_BUGS }, /* * Vizio @@ -1972,10 +2156,60 @@ { "Vizio", 0x0489, "VTAB1008", 0xe040, DEVICE_FLAGS_ANDROID_BUGS }, /* - * Viewpia, bq... - * Seems like some multi-branded OEM product. + * Amazon */ - { "Various", 0x2207, "Viewpia DR/bq Kepler", 0x0001, DEVICE_FLAGS_ANDROID_BUGS }, + { "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 }, + + /* + * Barnes&Noble + */ + { "Barnes&Noble", 0x2080, "Nook HD+", 0x0005, + 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 user + { "Hisense", 0x109b, "E860", 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-2 (MTP+ADB)", 0x9039, + DEVICE_FLAGS_ANDROID_BUGS }, + { "Xiaomi", 0x2717, "Mi-2 (MTP)", 0xf003, + DEVICE_FLAGS_ANDROID_BUGS }, /* * Other strange stuff. diff --git a/src/calibre/devices/mtp/unix/upstream/update.py b/src/calibre/devices/mtp/unix/upstream/update.py index 20c03d072d..50ae2becd7 100644 --- a/src/calibre/devices/mtp/unix/upstream/update.py +++ b/src/calibre/devices/mtp/unix/upstream/update.py @@ -7,14 +7,16 @@ __license__ = 'GPL v3' __copyright__ = '2012, Kovid Goyal ' __docformat__ = 'restructuredtext en' -MP = 'http://libmtp.git.sourceforge.net/git/gitweb.cgi?p=libmtp/libmtp;a=blob_plain;f=src/music-players.h;hb=HEAD' -DF = 'http://libmtp.git.sourceforge.net/git/gitweb.cgi?p=libmtp/libmtp;a=blob_plain;f=src/device-flags.h;hb=HEAD' - -import urllib, os, shutil +import os, shutil, subprocess base = os.path.dirname(os.path.abspath(__file__)) -for url, fname in [(MP, 'music-players.h'), (DF, 'device-flags.h')]: - with open(os.path.join(base, fname), 'wb') as f: - shutil.copyfileobj(urllib.urlopen(url), f) +os.chdir('/tmp') +if os.path.exists('libmtp'): + shutil.rmtree('libmtp') +subprocess.check_call(['git', 'clone', 'git://git.code.sf.net/p/libmtp/code', + 'libmtp']) +for x in ('src/music-players.h', 'src/device-flags.h'): + with open(os.path.join(base, os.path.basename(x)), 'wb') as f: + shutil.copyfileobj(open('libmtp/'+x), f)