~ubuntu-branches/ubuntu/saucy/libgphoto2/saucy-proposed

« back to all changes in this revision

Viewing changes to camlibs/ptp2/music-players.h

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2013-07-31 07:00:09 UTC
  • mfrom: (1.4.4)
  • Revision ID: package-import@ubuntu.com-20130731070009-enrbvg3hry64cxl1
Tags: 2.5.2-0ubuntu1
* New upstream release.
* Drop 01-increase_max_entries.patch, 02-libusbx_no_debug.patch,
  03-libusbx-fixes.patch: fixed upstream.
* Add libxml2-dev build dependency for new optional features.
* ABI changes: libgphoto2-2 → libgphoto2-6,
  libgphoto2-port0 → libgphoto2-port10
* debian/libgphoto2-dev-doc.install: Adjust to changed HTML API doc folder
  name.
* debian/libgphoto2-port10.install: Adjust for changed libgphoto-port ABI.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
7
7
 * Copyright (C) 2006-2007 Marcus Meissner
8
8
 * Copyright (C) 2007 Ted Bullock
 
9
 * Copyright (C) 2012 Sony Mobile Communications AB
9
10
 *
10
11
 * This library is free software; you can redistribute it and/or
11
12
 * modify it under the terms of the GNU Lesser General Public
292
293
      DEVICE_FLAG_PLAYLIST_SPL_V1 |
293
294
      DEVICE_FLAG_UNIQUE_FILENAMES |
294
295
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
 
296
  // The "YP-R2" (0x04e8/0x512d) is NOT MTP, it is UMS only.
 
297
  // Guessing on device flags for the MTP mode...
 
298
 { "Samsung", 0x04e8, "YP-R2", 0x512e,
 
299
     DEVICE_FLAG_UNLOAD_DRIVER |
 
300
     DEVICE_FLAG_OGG_IS_UNKNOWN |
 
301
     DEVICE_FLAG_UNIQUE_FILENAMES |
 
302
     DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
303
     DEVICE_FLAG_PLAYLIST_SPL_V1 },
295
304
  // From Manuel Carro
296
305
  // Copied from Q2
297
306
 { "Samsung", 0x04e8, "YP-Q3", 0x5130,
307
316
     DEVICE_FLAG_OGG_IS_UNKNOWN |
308
317
     DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
309
318
     DEVICE_FLAG_PLAYLIST_SPL_V1 },
 
319
  // YP-F3 is NOT MTP - USB mass storage
310
320
  // From a rouge .INF file
311
321
  // this device ID seems to have been recycled for:
312
322
  // the Samsung SGH-A707 Cingular cellphone
350
360
  { "Samsung", 0x04e8, "GT-S8500", 0x6819,
351
361
      DEVICE_FLAG_UNLOAD_DRIVER |
352
362
      DEVICE_FLAG_PLAYLIST_SPL_V1 },
353
 
  // From Harrison Metzger <harrisonmetz@gmail.com>
354
 
  { "Samsung", 0x04e8,
355
 
      "Galaxy Nexus/Galaxy S i9000/i9250, Android 4.0 updates", 0x685c,
356
 
      DEVICE_FLAGS_ANDROID_BUGS |
357
 
      DEVICE_FLAG_PLAYLIST_SPL_V2 },
358
 
  // From: Ignacio Martínez <ignacio.martinezrivera@yahoo.es>
359
 
  // It seems that some PTP commands are broken.
360
 
  // Galaxy S2 has a connection timeout, the session must be
361
 
  // open in about 3 seconds since the device is plugged in, after
362
 
  // that time it will not respond.
363
 
  // Seems also to be used with Galaxy Nexus debug mode and on
364
 
  // US markets for some weird reason.
365
 
  { "Samsung", 0x04e8,
366
 
      "GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note", 0x6860,
367
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
368
 
      DEVICE_FLAG_UNLOAD_DRIVER |
369
 
      DEVICE_FLAG_LONG_TIMEOUT |
370
 
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
371
 
  // Note: ID 0x6865 is some PTP mode! Don't add it.
 
363
  /*
 
364
   * These entries seems to be used on a *lot* of Samsung
 
365
   * Android phones. It is *not* the Android MTP stack but an internal
 
366
   * Samsung stack. The devices present a few different product IDs
 
367
   * depending on mode:
 
368
   *
 
369
   * 0x685b - UMS
 
370
   * 0x685c - MTP + ADB
 
371
   * 0x685e - UMS + CDC
 
372
   * 0x6860 - MTP mode (default)
 
373
   * 0x6863 - USB CDC RNDIS (not MTP)
 
374
   * 0x6865 - PTP mode (not MTP)
 
375
   * 0x6877 - Kies mode? Does it have MTP?
 
376
   *
 
377
   * Used on these samsung devices:
 
378
   * GT P7310/P7510/N7000/I9100/I9250/I9300
 
379
   * Galaxy Nexus
 
380
   * Galaxy Tab 7.7/10.1
 
381
   * Galaxy S GT-I9000
 
382
   * Galaxy S Advance GT-I9070
 
383
   * Galaxy S2
 
384
   * Galaxy S3
 
385
   * Galaxy Note
 
386
   * Galaxy Y
 
387
   *
 
388
   * - It seems that some PTP commands are broken.
 
389
   * - Devices seem to have a connection timeout, the session must be
 
390
   *   open in about 3 seconds since the device is plugged in, after
 
391
   *   that time it will not respond. Thus GUI programs work fine.
 
392
   * - Seems also to be used with Galaxy Nexus debug mode and on
 
393
   *   US markets for some weird reason.
 
394
   *
 
395
   * From: Ignacio Martínez <ignacio.martinezrivera@yahoo.es> and others
 
396
   * From Harrison Metzger <harrisonmetz@gmail.com>
 
397
   */
 
398
  { "Samsung", 0x04e8,
 
399
      "Galaxy models (MTP+ADB)", 0x685c,
 
400
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
 
401
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
402
      DEVICE_FLAG_UNLOAD_DRIVER |
 
403
      DEVICE_FLAG_LONG_TIMEOUT |
 
404
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
 
405
      DEVICE_FLAG_OGG_IS_UNKNOWN |
 
406
      DEVICE_FLAG_FLAC_IS_UNKNOWN },
 
407
  // Reported by David Goodenough <dfgdga@users.sourceforge.net>
 
408
  // Guessing on flags.
 
409
  { "Samsung", 0x04e8, "Galaxy Y", 0x685e,
 
410
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
 
411
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
412
      DEVICE_FLAG_UNLOAD_DRIVER |
 
413
      DEVICE_FLAG_LONG_TIMEOUT |
 
414
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
 
415
      DEVICE_FLAG_OGG_IS_UNKNOWN |
 
416
      DEVICE_FLAG_FLAC_IS_UNKNOWN },
 
417
  { "Samsung", 0x04e8,
 
418
      "Galaxy models (MTP)", 0x6860,
 
419
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
 
420
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
421
      DEVICE_FLAG_UNLOAD_DRIVER |
 
422
      DEVICE_FLAG_LONG_TIMEOUT |
 
423
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
 
424
      DEVICE_FLAG_OGG_IS_UNKNOWN |
 
425
      DEVICE_FLAG_FLAC_IS_UNKNOWN },
372
426
  // From: Erik Berglund <erikjber@users.sourceforge.net>
373
427
  // Logs indicate this needs DEVICE_FLAG_NO_ZERO_READS
374
428
  // No Samsung platlists on this device.
376
430
  // i5800 duplicate reported by igel <igel-kun@users.sourceforge.net>
377
431
  // Guessing this has the same problematic MTP stack as the device
378
432
  // above.
379
 
  { "Samsung", 0x04e8, "Galaxy S GT-I9000/Galaxy 3 i5800/Kies mode", 0x6877,
380
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
 
433
  { "Samsung", 0x04e8, "Galaxy models Kies mode", 0x6877,
381
434
      DEVICE_FLAG_UNLOAD_DRIVER |
382
435
      DEVICE_FLAG_LONG_TIMEOUT |
383
 
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI },
 
436
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
 
437
      DEVICE_FLAG_OGG_IS_UNKNOWN |
 
438
      DEVICE_FLAG_FLAC_IS_UNKNOWN },
384
439
  // From: John Gorkos <ab0oo@users.sourceforge.net> and
385
440
  // Akos Maroy <darkeye@users.sourceforge.net>
386
441
  { "Samsung", 0x04e8, "Vibrant SGH-T959/Captivate/Media player mode", 0x68a9,
400
455
   */
401
456
  { "Microsoft/Intel", 0x045e, "Bandon Portable Media Center", 0x00c9,
402
457
      DEVICE_FLAG_NONE },
403
 
  // Reported by anonymous sourceforge user
404
458
  // HTC Mozart is using the PID, as is Nokia Lumia 800
405
459
  // May need MTPZ to work
406
460
  { "Microsoft", 0x045e, "Windows Phone", 0x04ec, DEVICE_FLAG_NONE },
411
465
  { "Microsoft", 0x045e, "Windows MTP Simulator", 0x0622, DEVICE_FLAG_NONE },
412
466
  // Reported by Edward Hutchins (used for Zune HDs)
413
467
  { "Microsoft", 0x045e, "Zune HD", 0x063e, DEVICE_FLAG_NONE },
414
 
  // Reported by anonymous sourceforge user
415
468
  { "Microsoft", 0x045e, "Kin 1", 0x0640, DEVICE_FLAG_NONE },
416
 
  // Reported by anonymous sourceforge user
417
469
  { "Microsoft/Sharp/nVidia", 0x045e, "Kin TwoM", 0x0641, DEVICE_FLAG_NONE },
418
470
  // Reported by Farooq Zaman (used for all Zunes)
419
471
  { "Microsoft", 0x045e, "Zune", 0x0710, DEVICE_FLAG_NONE },
 
472
  // Reported by Olegs Jeremejevs
 
473
  { "Microsoft/HTC", 0x045e, "HTC 8S", 0xf0ca, DEVICE_FLAG_NONE },
420
474
 
421
475
  /*
422
476
   * JVC
478
532
  // From Anonymous SourceForge User
479
533
  { "Philips", 0x0471, "GoGear Vibe/02", 0x20e5,
480
534
      DEVICE_FLAG_UNLOAD_DRIVER },
 
535
  // Reported by Philip Rhoades
 
536
  { "Philips", 0x0471, "GoGear Ariaz/97", 0x2138,
 
537
      DEVICE_FLAG_UNLOAD_DRIVER },
481
538
  // from XNJB user
482
539
  { "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE },
483
540
 
484
541
  /*
485
542
   * Acer
 
543
   * Reporters:
 
544
   * Franck VDL <franckv@users.sourceforge.net>
 
545
   * Matthias Arndt <simonsunnyboy@users.sourceforge.net>
 
546
   * Arvin Schnell <arvins@users.sourceforge.net>
 
547
   * Philippe Marzouk <philm@users.sourceforge.net>
 
548
   * nE0sIghT <ne0sight@users.sourceforge.net>
 
549
   * Maxime de Roucy <maxime1986@users.sourceforge.net>
486
550
   */
487
 
  // Reported by anonymous sourceforge user
488
 
  { "Acer", 0x0502, "Iconia TAB A500 v1", 0x3325, DEVICE_FLAGS_ANDROID_BUGS },
489
 
  // Reported by: Franck VDL <franckv@users.sourceforge.net>
490
 
  { "Acer", 0x0502, "Iconia TAB A500 v2", 0x3341, DEVICE_FLAGS_ANDROID_BUGS },
491
 
  // Reported by: Matthias Arndt <simonsunnyboy@users.sourceforge.net>
492
 
  { "Acer", 0x0502, "Iconia TAB A501", 0x3344, DEVICE_FLAGS_ANDROID_BUGS },
493
 
  // Reported by: anonymous sourceforge user
494
 
  { "Acer", 0x0502, "Iconia TAB A100", 0x3348, DEVICE_FLAGS_ANDROID_BUGS },
495
 
  // Reported by: Arvin Schnell <arvins@users.sourceforge.net>
496
 
  { "Acer", 0x0502, "Iconia TAB A100 ID2", 0x3349, DEVICE_FLAGS_ANDROID_BUGS },
497
 
  // Reported by anonymous sourceforge user
498
 
  { "Acer", 0x0502, "Iconia TAB A200", 0x337c, DEVICE_FLAGS_ANDROID_BUGS },
 
551
  { "Acer", 0x0502, "Iconia TAB A500 (ID1)", 0x3325,
 
552
      DEVICE_FLAGS_ANDROID_BUGS },
 
553
  { "Acer", 0x0502, "Iconia TAB A500 (ID2)", 0x3341,
 
554
      DEVICE_FLAGS_ANDROID_BUGS },
 
555
  { "Acer", 0x0502, "Iconia TAB A501 (ID1)", 0x3344,
 
556
      DEVICE_FLAGS_ANDROID_BUGS },
 
557
  { "Acer", 0x0502, "Iconia TAB A501 (ID2)", 0x3345,
 
558
      DEVICE_FLAGS_ANDROID_BUGS },
 
559
  { "Acer", 0x0502, "Iconia TAB A100 (ID1)", 0x3348,
 
560
      DEVICE_FLAGS_ANDROID_BUGS },
 
561
  { "Acer", 0x0502, "Iconia TAB A100 (ID2)", 0x3349,
 
562
      DEVICE_FLAGS_ANDROID_BUGS },
 
563
  { "Acer", 0x0502, "Iconia TAB A700", 0x3378,
 
564
      DEVICE_FLAGS_ANDROID_BUGS },
 
565
  { "Acer", 0x0502, "Iconia TAB A200 (ID1)", 0x337c,
 
566
      DEVICE_FLAGS_ANDROID_BUGS },
 
567
  { "Acer", 0x0502, "Iconia TAB A200 (ID2)", 0x337d,
 
568
      DEVICE_FLAGS_ANDROID_BUGS },
 
569
  { "Acer", 0x0502, "Iconia TAB A510 (ID1)", 0x3389,
 
570
      DEVICE_FLAGS_ANDROID_BUGS },
 
571
  { "Acer", 0x0502, "Iconia TAB A510 (ID2)", 0x338a,
 
572
      DEVICE_FLAGS_ANDROID_BUGS },
 
573
  { "Acer", 0x0502, "E350 Liquid Gallant Duo", 0x33c3,
 
574
      DEVICE_FLAGS_ANDROID_BUGS },
 
575
  { "Acer", 0x0502, "Iconia TAB A210", 0x33cb,
 
576
      DEVICE_FLAGS_ANDROID_BUGS },
 
577
  { "Acer", 0x0502, "Iconia TAB A110", 0x33d8,
 
578
      DEVICE_FLAGS_ANDROID_BUGS },
 
579
 
 
580
 
499
581
 
500
582
  /*
501
583
   * SanDisk
695
777
  { "iRiver", 0x4102, "E50", 0x1151,
696
778
    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
697
779
    DEVICE_FLAG_OGG_IS_UNKNOWN },
698
 
   // Reported by Jakub Matraszek <jakub.matraszek@gmail.com>
 
780
  // Reported by anonymous SourceForge user, guessing on flags
 
781
  { "iRiver", 0x4102, "E150", 0x1152,
 
782
    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
 
783
    DEVICE_FLAG_OGG_IS_UNKNOWN },
 
784
  // Reported by Jakub Matraszek <jakub.matraszek@gmail.com>
699
785
  { "iRiver", 0x4102, "T5", 0x1153,
700
786
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
701
787
    DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_OGG_IS_UNKNOWN },
776
862
  { "Toshiba", 0x0930, "Gigabeat MET401", 0x001d,
777
863
      DEVICE_FLAG_NO_RELEASE_INTERFACE |
778
864
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
 
865
  // Reported by Andree Jacobson <nmcandree@users.sourceforge.net>
 
866
  { "Toshiba", 0x0930, "Excite AT300", 0x0963,
 
867
      DEVICE_FLAGS_ANDROID_BUGS },
779
868
  // Reported by Nigel Cunningham <nigel@tuxonice.net>
780
869
  // Guessing on Android bugs
781
870
  { "Toshiba", 0x0930, "Thrive AT100/AT105", 0x7100,
826
915
  { "Archos", 0x0e79, "SPOD (MTP mode)", 0x1341, DEVICE_FLAG_UNLOAD_DRIVER },
827
916
  { "Archos", 0x0e79, "5S IT (MTP mode)", 0x1351, DEVICE_FLAG_UNLOAD_DRIVER },
828
917
  { "Archos", 0x0e79, "5H IT (MTP mode)", 0x1357, DEVICE_FLAG_UNLOAD_DRIVER },
829
 
  // Reported by anonymous Sourceforge user
 
918
  { "Archos", 0x0e79, "Arnova Childpad", 0x1458, DEVICE_FLAGS_ANDROID_BUGS },
 
919
  { "Archos", 0x0e79, "Arnova 8c G3", 0x145e, DEVICE_FLAGS_ANDROID_BUGS },
 
920
  { "Archos", 0x0e79, "Arnova 10bG3 Tablet", 0x146b, DEVICE_FLAGS_ANDROID_BUGS },
 
921
  { "Archos", 0x0e79, "97 Xenon", 0x149a, DEVICE_FLAGS_ANDROID_BUGS },
830
922
  { "Archos", 0x0e79, "8o G9 (MTP mode)", 0x1508, DEVICE_FLAG_UNLOAD_DRIVER },
831
923
  // Reported by Clément <clemvangelis@users.sourceforge.net>
832
924
  { "Archos", 0x0e79, "8o G9 Turbo (MTP mode)", 0x1509,
835
927
  { "Archos", 0x0e79, "80G9", 0x1518, DEVICE_FLAGS_ANDROID_BUGS },
836
928
  // Reported by Till <Till@users.sourceforge.net>
837
929
  { "Archos", 0x0e79, "101 G9", 0x1528, DEVICE_FLAGS_ANDROID_BUGS },
838
 
  // Reported by anonymous sourceforge user
 
930
  { "Archos", 0x0e79, "101 G9 (v2)", 0x1529, DEVICE_FLAGS_ANDROID_BUGS },
839
931
  { "Archos", 0x0e79, "101 G9 Turbo 250 HD", 0x1538,
840
932
      DEVICE_FLAGS_ANDROID_BUGS },
841
 
  // Reported by anonymous sourceforge user
842
933
  { "Archos", 0x0e79, "101 G9 Turbo", 0x1539, DEVICE_FLAGS_ANDROID_BUGS },
 
934
  { "Archos", 0x0e79, "70it2 (mode 1)", 0x1568, DEVICE_FLAGS_ANDROID_BUGS },
 
935
  // Reported by Sebastien ROHAUT
 
936
  { "Archos", 0x0e79, "70it2 (mode 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS },
843
937
 
844
938
  /*
845
939
   * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad
952
1046
  { "Nokia", 0x0421, "5530", 0x0229, DEVICE_FLAG_NONE },
953
1047
  // From: Anonymous SourceForge user
954
1048
  { "Nokia", 0x0421, "N97 mini", 0x026b, DEVICE_FLAG_NONE },
 
1049
  // From: Anonymous SourceForge user
 
1050
  { "Nokia", 0x0421, "X6", 0x0274, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
955
1051
  // From: Alexander Kojevnikov <alex-kay@users.sourceforge.net>
956
1052
  { "Nokia", 0x0421, "6600i", 0x0297, DEVICE_FLAG_NONE },
957
1053
  // From: Karthik Paithankar <whyagain2005@users.sourceforge.net>
970
1066
  // Symbian phone
971
1067
  { "Nokia", 0x0421, "C7", 0x03c1, DEVICE_FLAG_NONE },
972
1068
  // Reported by Anonymous SourceForge user
 
1069
  { "Nokia", 0x0421, "C7 (ID2)", 0x03cd, DEVICE_FLAG_NONE },
 
1070
  // Reported by Anonymous SourceForge user
973
1071
  { "Nokia", 0x0421, "N950", 0x03d2, DEVICE_FLAG_NONE },
974
1072
  // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_3250_WMP10_driver.inf
975
1073
  { "Nokia", 0x0421, "3250 Mobile Phone", 0x0462, DEVICE_FLAG_NONE },
1000
1098
      DEVICE_FLAG_UNLOAD_DRIVER },
1001
1099
  // From: Maxin B. John <maxin.john@gmail.com>
1002
1100
  { "Nokia", 0x0421, "N9", 0x051a, DEVICE_FLAG_NONE },
 
1101
  { "Nokia", 0x0421, "C5-00", 0x0592, DEVICE_FLAG_NONE },
 
1102
  // Reported by Sampo Savola
 
1103
  // Covers Lumia 920, 820 and probably any WP8 device.
 
1104
  { "Nokia", 0x0421, "Nokia Lumia WP8", 0x0661, DEVICE_FLAG_NONE },
1003
1105
  // Reported by Richard Wall <richard@the-moon.net>
1004
1106
  { "Nokia", 0x05c6, "5530 Xpressmusic", 0x0229, DEVICE_FLAG_NONE },
1005
1107
  // Reported by anonymous SourceForge user
1034
1136
  { "Thomson / RCA", 0x069b, "Lyra HC308A", 0x3035, DEVICE_FLAG_NONE },
1035
1137
 
1036
1138
  /*
1037
 
   * NTT DoCoMo
 
1139
   * Fujitsu devices
1038
1140
   */
1039
 
  { "FOMA", 0x04c5, "F903iX HIGH-SPEED", 0x1140, DEVICE_FLAG_NONE },
 
1141
  { "Fujitsu, Ltd", 0x04c5, "F903iX HIGH-SPEED", 0x1140, DEVICE_FLAG_NONE },
 
1142
  // Reported by Thomas Bretthauer
 
1143
  { "Fujitsu, Ltd", 0x04c5, "STYLISTIC M532", 0x133b,
 
1144
      DEVICE_FLAGS_ANDROID_BUGS },
1040
1145
 
1041
1146
  /*
1042
1147
   * Palm device userland program named Pocket Tunes
1068
1173
  // Guessing on device flags
1069
1174
  { "Medion", 0x0408, "MD99000 (P9514)/Olivetti Olipad 110", 0xb009,
1070
1175
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
 
1176
  // Reported by Richard Eigenmann <richieigenmann@users.sourceforge.net>
 
1177
  { "Medion", 0x0408, "Lifetab P9514", 0xb00a,
 
1178
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAGS_ANDROID_BUGS },
1071
1179
  // Reported by anonymous SourceForge user
1072
1180
  { "Maxfield", 0x066f, "G-Flash NG 1GB", 0x846c,
1073
1181
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1156
1264
  { "Cowon", 0x0e21, "iAudio X7 (MTP mode)", 0x0931,
1157
1265
   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1158
1266
   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
 
1267
  // Reported by anonymous SourceForge user
 
1268
  { "Cowon", 0x0e21, "iAudio C2 (MTP mode)", 0x0941,
 
1269
   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
1270
   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
1159
1271
  { "Cowon", 0x0e21, "iAudio 10 (MTP mode)", 0x0952,
1160
1272
   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1161
1273
   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
1172
1284
  /*
1173
1285
   * LG Electronics
1174
1286
   */
1175
 
  // From anonymous SourceForge user
1176
1287
  // Uncertain if this is really the MTP mode device ID...
1177
1288
  { "LG Electronics Inc.", 0x043e, "T54", 0x7040,
1178
1289
      DEVICE_FLAG_UNLOAD_DRIVER },
1189
1300
  { "LG Electronics Inc.", 0x1004, "GR-500 Music Player", 0x611b,
1190
1301
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1191
1302
      DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
1192
 
  // Reported by anonymous sourceforge user
1193
1303
  { "LG Electronics Inc.", 0x1004, "KM900", 0x6132,
1194
1304
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1195
1305
      DEVICE_FLAG_UNLOAD_DRIVER },
1196
 
  // Reported by anonymous sourceforge user
1197
1306
  { "LG Electronics Inc.", 0x1004, "LG8575", 0x619a,
1198
1307
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1199
1308
      DEVICE_FLAG_UNLOAD_DRIVER },
1200
 
  // Reported by anonymous sourceforge user
1201
1309
  { "LG Electronics Inc.", 0x1004, "V909 G-Slate", 0x61f9,
1202
1310
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
1203
1311
      DEVICE_FLAG_UNLOAD_DRIVER },
 
1312
  { "LG Electronics Inc.", 0x1004, "LG2 Optimus", 0x6225,
 
1313
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
 
1314
      DEVICE_FLAG_UNLOAD_DRIVER },
 
1315
  // Reported by Brian J. Murrell
 
1316
  { "LG Electronics Inc.", 0x1004, "LG-E610/E612/E617G/E970/P700", 0x631c,
 
1317
      DEVICE_FLAGS_ANDROID_BUGS },
1204
1318
 
1205
1319
  /*
1206
1320
   * Sony
1209
1323
   * reported to see a pattern here.
1210
1324
   */
1211
1325
  // Reported by Alessandro Radaelli <alessandro.radaelli@aruba.it>
1212
 
  { "Sony", 0x054c, "Walkman NWZ-A815/NWZ-A818", 0x0325,
 
1326
  { "Sony", 0x054c, "NWZ-A815/NWZ-A818", 0x0325,
1213
1327
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1214
1328
  // Reported by anonymous Sourceforge user.
1215
 
  { "Sony", 0x054c, "Walkman NWZ-S516", 0x0326,
 
1329
  { "Sony", 0x054c, "NWZ-S516", 0x0326,
1216
1330
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1217
1331
  // Reported by Endre Oma <endre.88.oma@gmail.com>
1218
 
  { "Sony", 0x054c, "Walkman NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327,
 
1332
  { "Sony", 0x054c, "NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327,
1219
1333
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1220
1334
  // Reported by Jean-Marc Bourguet <jm@bourguet.org>
1221
 
  { "Sony", 0x054c, "Walkman NWZ-S716F", 0x035a,
 
1335
  { "Sony", 0x054c, "NWZ-S716F", 0x035a,
1222
1336
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1223
1337
  // Reported by Anon SF User / Anthon van der Neut <avanderneut@avid.com>
1224
 
  { "Sony", 0x054c, "Walkman NWZ-A826/NWZ-A828/NWZ-A829", 0x035b,
 
1338
  { "Sony", 0x054c, "NWZ-A826/NWZ-A828/NWZ-A829", 0x035b,
1225
1339
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1226
1340
  // Reported by Niek Klaverstijn <niekez@users.sourceforge.net>
1227
 
  { "Sony", 0x054c, "Walkman NWZ-A726/NWZ-A728/NWZ-A768", 0x035c,
 
1341
  { "Sony", 0x054c, "NWZ-A726/NWZ-A728/NWZ-A768", 0x035c,
1228
1342
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1229
1343
  // Reported by Mehdi AMINI <mehdi.amini - at - ulp.u-strasbg.fr>
1230
 
  { "Sony", 0x054c, "Walkman NWZ-B135", 0x036e,
 
1344
  { "Sony", 0x054c, "NWZ-B135", 0x036e,
1231
1345
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1232
1346
  // Reported by <tiagoboldt@users.sourceforge.net>
1233
 
  { "Sony", 0x054c, "Walkman NWZ-E436F", 0x0385,
 
1347
  { "Sony", 0x054c, "NWZ-E436F", 0x0385,
1234
1348
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1235
1349
  // Reported by Michael Wilkinson
1236
 
  { "Sony", 0x054c, "Walkman NWZ-W202", 0x0388,
 
1350
  { "Sony", 0x054c, "NWZ-W202", 0x0388,
1237
1351
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1238
1352
  // Reported by Ondrej Sury <ondrej@sury.org>
1239
 
  { "Sony", 0x054c, "Walkman NWZ-S739F", 0x038c,
 
1353
  { "Sony", 0x054c, "NWZ-S739F", 0x038c,
1240
1354
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1241
1355
  // Reported by Marco Filipe Nunes Soares Abrantes Pereira <marcopereira@ua.pt>
1242
 
  { "Sony", 0x054c, "Walkman NWZ-S638F", 0x038e,
 
1356
  { "Sony", 0x054c, "NWZ-S638F", 0x038e,
1243
1357
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1244
1358
  // Reported by Elliot <orwells@users.sourceforge.net>
1245
 
  { "Sony", 0x054c, "Walkman NWZ-X1050B/NWZ-X1060B",
 
1359
  { "Sony", 0x054c, "NWZ-X1050B/NWZ-X1060B",
1246
1360
    0x0397, DEVICE_FLAGS_SONY_NWZ_BUGS },
1247
1361
  // Reported by Silvio J. Gutierrez <silviogutierrez@users.sourceforge.net>
1248
 
  { "Sony", 0x054c, "Walkman NWZ-X1051/NWZ-X1061", 0x0398,
 
1362
  { "Sony", 0x054c, "NWZ-X1051/NWZ-X1061", 0x0398,
1249
1363
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1250
1364
  // Reported by Gregory Boddin <gregory@siwhine.net>
1251
 
  { "Sony", 0x054c, "Walkman NWZ-B142F", 0x03d8,
 
1365
  { "Sony", 0x054c, "NWZ-B142F", 0x03d8,
1252
1366
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1253
1367
  // Reported by Rick Warner <rick@reptileroom.net>
1254
 
  { "Sony", 0x054c, "Walkman NWZ-E344", 0x03fc,
 
1368
  { "Sony", 0x054c, "NWZ-E344/E345", 0x03fc,
1255
1369
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1256
1370
  // Reported by Jonathan Stowe <gellyfish@users.sourceforge.net>
1257
 
  { "Sony", 0x054c, "Walkman NWZ-E445", 0x03fd,
 
1371
  { "Sony", 0x054c, "NWZ-E445", 0x03fd,
1258
1372
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1259
1373
  // Reported by Anonymous SourceForge user
1260
 
  { "Sony", 0x054c, "Walkman NWZ-S545", 0x03fe,
 
1374
  { "Sony", 0x054c, "NWZ-S545", 0x03fe,
1261
1375
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1262
 
  { "Sony", 0x054c, "Walkman NWZ-A845", 0x0404,
 
1376
  { "Sony", 0x054c, "NWZ-A845", 0x0404,
1263
1377
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1264
1378
  // Reported by anonymous SourceForge user
1265
 
  { "Sony", 0x054c, "Walkman NWZ-W252B", 0x04bb,
 
1379
  { "Sony", 0x054c, "NWZ-W252B", 0x04bb,
1266
1380
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1267
1381
  // Suspect this device has strong DRM features
1268
1382
  // See https://answers.launchpad.net/ubuntu/+source/libmtp/+question/149587
1269
 
  { "Sony", 0x054c, "Walkman NWZ-B153F", 0x04be,
 
1383
  { "Sony", 0x054c, "NWZ-B153F", 0x04be,
1270
1384
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1271
 
  { "Sony", 0x054c, "Walkman NWZ-E354", 0x04cb,
 
1385
  { "Sony", 0x054c, "NWZ-E354", 0x04cb,
1272
1386
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1273
1387
  // Reported by Toni Burgarello
1274
 
  { "Sony", 0x054c, "Walkman NWZ-S754", 0x04cc,
 
1388
  { "Sony", 0x054c, "NWZ-S754", 0x04cc,
1275
1389
      DEVICE_FLAGS_SONY_NWZ_BUGS },
 
1390
  // Reported by Hideki Yamane <henrich@debian.org>
 
1391
  { "Sony", 0x054c, "Sony Tablet P1", 0x04d1,
 
1392
      DEVICE_FLAGS_ANDROID_BUGS },
1276
1393
  // Reported by dmiceman
1277
1394
  { "Sony", 0x054c, "NWZ-B163F", 0x059a,
1278
1395
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1279
 
  // Reported by anonymous Sourceforge user
1280
 
  // guessing on device flags...
1281
 
  { "Sony", 0x054c, "Walkman NWZ-E464", 0x05a6,
 
1396
  { "Sony", 0x054c, "NWZ-E464", 0x05a6,
1282
1397
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1283
1398
  // Reported by Jan Rheinlaender <jrheinlaender@users.sourceforge.net>
1284
1399
  { "Sony", 0x054c, "NWZ-S765", 0x05a8,
1285
1400
      DEVICE_FLAGS_SONY_NWZ_BUGS },
 
1401
  // Olivier Keshavjee <olivierkes@users.sourceforge.net>
 
1402
  { "Sony", 0x054c, "Sony Tablet S", 0x05b3,
 
1403
      DEVICE_FLAGS_ANDROID_BUGS },
1286
1404
  // Reported by ghalambaz <ghalambaz@users.sourceforge.net>
1287
1405
  { "Sony", 0x054c, "Sony Tablet S1", 0x05b4,
1288
1406
      DEVICE_FLAGS_ANDROID_BUGS },
1289
 
  // Reported by Anonymous SourceForge user
 
1407
  { "Sony", 0x054c, "NWZ-B173F", 0x0689,
 
1408
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1290
1409
  { "Sony", 0x054c, "DCR-SR75", 0x1294,
1291
1410
      DEVICE_FLAGS_SONY_NWZ_BUGS },
1292
1411
 
1349
1468
  // Reported by Serge Chirik <schirik@users.sourceforge.net>
1350
1469
  { "SonyEricsson", 0x0fce,  "j108i (Cedar)", 0x014e,
1351
1470
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1352
 
  // Reported by Jonas Salling <>
1353
 
  // Erroneous MTP implementation seems to be from Aricent, returns
1354
 
  // broken transaction ID.
1355
 
  { "SonyEricsson", 0x0fce, "LT15i (Xperia arc S)", 0x14f,
1356
 
      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
1357
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1358
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1359
 
  // Reported by Eamonn Webster <eweb@users.sourceforge.net>
1360
 
  // Guessing on the ignore errors flag
1361
 
  { "SonyEricsson", 0x0fce, "Xperia Neo", 0x0156,
1362
 
      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
1363
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1364
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1365
 
  // Reported by <wealas@users.sourceforge.net>
1366
 
  // Android with homebrew MTP stack, possibly Aricent
1367
 
  { "SonyEricsson", 0x0fce, "ST18a Xperia Ray", 0x0161,
1368
 
      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
1369
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1370
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1371
 
  // Reported by hdhoang <hdhoang@users.sourceforge.net>
1372
 
  // Android with homebrew MTP stack, possibly Aricent
1373
 
  { "SonyEricsson", 0x0fce, "ST15i Xperia Mini", 0x0167,
1374
 
      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
1375
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1376
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1377
 
  // Reported by Paul Taylor
1378
 
  { "SONY", 0x0fce, "Xperia S", 0x0169,
1379
 
      DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAGS_ANDROID_BUGS },
1380
1471
  // Reported by Jonas Nyrén <spectralmks@users.sourceforge.net>
1381
1472
  { "SonyEricsson", 0x0fce, "W302", 0x10c8,
1382
1473
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1383
 
  // Reported by anonymous sourceforge user
1384
 
  // Suspect Aricent stack, guessing on these bug flags
1385
 
  { "SonyEricsson", 0x0fce, "Xperia Arc LT15i", 0x514f,
1386
 
      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
1387
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1388
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1389
1474
  // Reported by Anonymous Sourceforge user
1390
1475
  { "SonyEricsson", 0x0fce,  "j10i (Elm)", 0xd144,
1391
1476
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1393
1478
  { "SonyEricsson", 0x0fce, "K550i", 0xe000,
1394
1479
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1395
1480
 
 
1481
  /*
 
1482
   * SonyEricsson/SONY Android devices usually have three personalities due to
 
1483
   * using composite descriptors and the fact that Windows cannot distinguish
 
1484
   * the device unless each composite descriptor is unique.
 
1485
   *
 
1486
   * Legend:
 
1487
   * MTP = Media Transfer Protocol
 
1488
   * UMS = USB Mass Storage Protocol
 
1489
   * ADB = Android Debug Bridge Protocol
 
1490
   * CDC = Communications Device Class, Internet Sharing
 
1491
   *
 
1492
   * 0x0nnn = MTP
 
1493
   * 0x4nnn = MTP + UMS (for CD-ROM)
 
1494
   * 0x5nnn = MTP + ADB
 
1495
   * 0x6nnn = UMS + ADB
 
1496
   * 0x7nnn = MTP + CDC
 
1497
   * 0x8nnn = MTP + CDC + ADB
 
1498
   * 0xannn = MTP + UMS (MTP for eMMC and UMS for external SD card)
 
1499
   * 0xbnnn = MTP + UMS + ADB
 
1500
   * 0xennn = UMS only
 
1501
   *
 
1502
   * The SonyEricsson and SONY devices have (at least) two deployed MTP
 
1503
   * stacks: Aricent and Android. These have different bug flags, and
 
1504
   * sometimes the same device has firmware upgrades moving it from
 
1505
   * the Aricent to Android MTP stack without changing the device
 
1506
   * VID+PID (first observed on the SK17i Xperia Mini Pro), so the
 
1507
   * detection has to be more elaborate. The code in libmtp.c will do
 
1508
   * this and assign the proper bug flags (hopefully).
 
1509
   * That is why DEVICE_FLAG_NONE is used for these devices.
 
1510
   *
 
1511
   * Devices reported by:
 
1512
   * Sony Mobile Communications (via Toby Collett)
 
1513
   * Jonas Salling
 
1514
   * Eamonn Webster <eweb@users.sourceforge.net>
 
1515
   * Alejandro DC <Alejandro_DC@users.sourceforge.ne>
 
1516
   * StehpanKa <stehp@users.sourceforge.net>
 
1517
   * hdhoang <hdhoang@users.sourceforge.net>
 
1518
   * Paul Taylor
 
1519
   * Bruno Basilio <bbasilio@users.sourceforge.net>
 
1520
   * Christoffer Holmstedt <christofferh@users.sourceforge.net>
 
1521
   * equaeghe <equaeghe@users.sourceforge.net>
 
1522
   * Ondra Lengal
 
1523
   * Michael K. <kmike@users.sourceforge.net>
 
1524
   * Jean-François  B. <changi67@users.sourceforge.net>
 
1525
   * Eduard Bloch <blade@debian.org>
 
1526
   * Ah Hong <hongster@users.sourceforge.net>
 
1527
   * Eowyn Carter
 
1528
   */
 
1529
  { "SonyEricsson", 0x0fce, "LT15i Xperia arc S MTP", 0x014f,
 
1530
      DEVICE_FLAG_NONE },
 
1531
  { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP", 0x0156,
 
1532
      DEVICE_FLAG_NONE },
 
1533
  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP", 0x0157,
 
1534
      DEVICE_FLAG_NONE },
 
1535
  { "SonyEricsson", 0x0fce, "MK16i Xperia MTP", 0x015a,
 
1536
      DEVICE_FLAG_NONE },
 
1537
  { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP", 0x015d,
 
1538
      DEVICE_FLAG_NONE },
 
1539
  { "SonyEricsson", 0x0fce, "ST18a Xperia Ray MTP", 0x0161,
 
1540
      DEVICE_FLAG_NONE },
 
1541
  { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP", 0x0166,
 
1542
      DEVICE_FLAG_NONE },
 
1543
  { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP", 0x0167,
 
1544
      DEVICE_FLAG_NONE },
 
1545
  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP", 0x0168,
 
1546
      DEVICE_FLAG_NONE },
 
1547
  { "SONY", 0x0fce, "LT26i Xperia S MTP", 0x0169,
 
1548
      DEVICE_FLAG_NO_ZERO_READS },
 
1549
  { "SONY", 0x0fce, "WT19i Live Walkman MTP", 0x016d,
 
1550
      DEVICE_FLAG_NONE },
 
1551
  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP", 0x0170,
 
1552
      DEVICE_FLAG_NONE },
 
1553
  { "SONY", 0x0fce, "ST15i Xperia U MTP", 0x0171,
 
1554
      DEVICE_FLAG_NONE },
 
1555
  { "SONY", 0x0fce, "LT22i Xperia P MTP", 0x0172,
 
1556
      DEVICE_FLAG_NONE },
 
1557
  { "SONY", 0x0fce, "MT27i Xperia Sola MTP", 0x0173,
 
1558
      DEVICE_FLAG_NONE },
 
1559
  { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP", 0x0175,
 
1560
      DEVICE_FLAG_NONE },
 
1561
  { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP", 0x0176,
 
1562
      DEVICE_FLAG_NONE },
 
1563
  { "SONY", 0x0fce, "LT28at Xperia Ion MTP", 0x0177,
 
1564
      DEVICE_FLAG_NONE },
 
1565
  { "SONY", 0x0fce, "LT29i Xperia GX MTP", 0x0178,
 
1566
      DEVICE_FLAG_NONE },
 
1567
  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP", 0x017e,
 
1568
      DEVICE_FLAG_NONE },
 
1569
  { "SONY", 0x0fce, "ST23i Xperia Miro MTP", 0x0180,
 
1570
      DEVICE_FLAG_NONE },
 
1571
  { "SONY", 0x0fce, "SO-05D Xperia SX MTP", 0x0181,
 
1572
      DEVICE_FLAG_NONE },
 
1573
  { "SONY", 0x0fce, "LT30p Xperia T MTP", 0x0182,
 
1574
      DEVICE_FLAG_NONE },
 
1575
  { "SONY", 0x0fce, "LT25i Xperia V MTP", 0x0186,
 
1576
      DEVICE_FLAG_NONE },
 
1577
  { "SONY", 0x0fce, "Xperia J MTP", 0x0188,
 
1578
      DEVICE_FLAG_NONE },
 
1579
  { "SONY", 0x0fce, "Xperia ZL MTP", 0x0189,
 
1580
      DEVICE_FLAG_NONE },
 
1581
  { "SONY", 0x0fce, "Xperia E MTP", 0x018c,
 
1582
      DEVICE_FLAG_NONE },
 
1583
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x018d,
 
1584
      DEVICE_FLAG_NONE },
 
1585
  { "SONY", 0x0fce, "Xperia Z MTP", 0x0193,
 
1586
      DEVICE_FLAG_NONE },
 
1587
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x0194,
 
1588
      DEVICE_FLAG_NONE },
 
1589
 
 
1590
  /*
 
1591
   * MTP+UMS personalities of MTP devices (see above)
 
1592
   */
 
1593
  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+CDROM", 0x4157,
 
1594
      DEVICE_FLAG_NONE },
 
1595
  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+CDROM", 0x4168,
 
1596
      DEVICE_FLAG_NONE },
 
1597
  { "SONY", 0x0fce, "LT26i Xperia S MTP+CDROM", 0x4169,
 
1598
      DEVICE_FLAG_NO_ZERO_READS },
 
1599
  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+CDROM", 0x4170,
 
1600
      DEVICE_FLAG_NONE },
 
1601
  { "SONY", 0x0fce, "ST25i Xperia U MTP+CDROM", 0x4171,
 
1602
      DEVICE_FLAG_NONE },
 
1603
  { "SONY", 0x0fce, "LT22i Xperia P MTP+CDROM", 0x4172,
 
1604
      DEVICE_FLAG_NONE },
 
1605
  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+CDROM", 0x4173,
 
1606
      DEVICE_FLAG_NONE },
 
1607
  { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP+CDROM", 0x4175,
 
1608
      DEVICE_FLAG_NONE },
 
1609
  { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP+CDROM", 0x4176,
 
1610
      DEVICE_FLAG_NONE },
 
1611
  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+CDROM", 0x4177,
 
1612
      DEVICE_FLAG_NONE },
 
1613
  { "SONY", 0x0fce, "LT29i Xperia GX MTP+CDROM", 0x4178,
 
1614
      DEVICE_FLAG_NONE },
 
1615
  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+CDROM", 0x417e,
 
1616
      DEVICE_FLAG_NONE },
 
1617
  { "SONY", 0x0fce, "ST23i Xperia Miro MTP+CDROM", 0x4180,
 
1618
      DEVICE_FLAG_NONE },
 
1619
  { "SONY", 0x0fce, "SO-05D Xperia SX MTP+CDROM", 0x4181,
 
1620
      DEVICE_FLAG_NONE },
 
1621
  { "SONY", 0x0fce, "LT30p Xperia T MTP+CDROM", 0x4182,
 
1622
      DEVICE_FLAG_NONE },
 
1623
  { "SONY", 0x0fce, "LT25i Xperia V MTP+CDROM", 0x4186,
 
1624
      DEVICE_FLAG_NONE },
 
1625
  { "SONY", 0x0fce, "Xperia J MTP+CDROM", 0x4188,
 
1626
      DEVICE_FLAG_NONE },
 
1627
  { "SONY", 0x0fce, "Xperia ZL MTP", 0x4189,
 
1628
      DEVICE_FLAG_NONE },
 
1629
  { "SONY", 0x0fce, "Xperia E MTP+CDROM", 0x418c,
 
1630
      DEVICE_FLAG_NONE },
 
1631
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x418d,
 
1632
      DEVICE_FLAG_NONE },
 
1633
  { "SONY", 0x0fce, "Xperia Z MTP", 0x4193,
 
1634
      DEVICE_FLAG_NONE },
 
1635
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x4194,
 
1636
      DEVICE_FLAG_NONE },
 
1637
 
 
1638
  /*
 
1639
   * MTP+ADB personalities of MTP devices (see above)
 
1640
   */
 
1641
  { "SonyEricsson", 0x0fce, "LT15i Xperia Arc MTP+ADB", 0x514f,
 
1642
      DEVICE_FLAG_NONE },
 
1643
  { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP+ADB", 0x5156,
 
1644
      DEVICE_FLAG_NONE },
 
1645
  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+ADB", 0x5157,
 
1646
      DEVICE_FLAG_NONE },
 
1647
  { "SonyEricsson", 0x0fce, "MK16i Xperia MTP+ADB", 0x515a,
 
1648
      DEVICE_FLAG_NONE },
 
1649
  { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP+ADB", 0x515d,
 
1650
      DEVICE_FLAG_NONE },
 
1651
  { "SonyEricsson", 0x0fce, "ST18i Xperia Ray MTP+ADB", 0x5161,
 
1652
      DEVICE_FLAG_NONE },
 
1653
  { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x5166,
 
1654
      DEVICE_FLAG_NONE },
 
1655
  { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP+ADB", 0x5167,
 
1656
      DEVICE_FLAG_NONE },
 
1657
  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+ADB", 0x5168,
 
1658
      DEVICE_FLAG_NONE },
 
1659
  { "SONY", 0x0fce, "LT26i Xperia S MTP+ADB", 0x5169,
 
1660
      DEVICE_FLAG_NO_ZERO_READS },
 
1661
  { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x516d,
 
1662
      DEVICE_FLAG_NONE },
 
1663
  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+ADB", 0x5170,
 
1664
      DEVICE_FLAG_NONE },
 
1665
  { "SONY", 0x0fce, "ST25i Xperia U MTP+ADB", 0x5171,
 
1666
      DEVICE_FLAG_NONE },
 
1667
  { "SONY", 0x0fce, "LT22i Xperia P MTP+ADB", 0x5172,
 
1668
      DEVICE_FLAG_NONE },
 
1669
  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+ADB", 0x5173,
 
1670
      DEVICE_FLAG_NONE },
 
1671
  { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+ADB", 0x5175,
 
1672
      DEVICE_FLAG_NONE },
 
1673
  { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+ADB", 0x5176,
 
1674
      DEVICE_FLAG_NONE },
 
1675
  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+ADB", 0x5177,
 
1676
      DEVICE_FLAG_NONE },
 
1677
  { "SONY", 0x0fce, "LT29i Xperia GX MTP+ADB", 0x5178,
 
1678
      DEVICE_FLAG_NONE },
 
1679
  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+ADB", 0x517e,
 
1680
      DEVICE_FLAG_NONE },
 
1681
  { "SONY", 0x0fce, "ST23i Xperia Miro MTP+ADB", 0x5180,
 
1682
      DEVICE_FLAG_NONE },
 
1683
  { "SONY", 0x0fce, "SO-05D Xperia SX MTP+ADB", 0x5181,
 
1684
      DEVICE_FLAG_NONE },
 
1685
  { "SONY", 0x0fce, "LT30p Xperia T MTP+ADB", 0x5182,
 
1686
      DEVICE_FLAG_NONE },
 
1687
  { "SONY", 0x0fce, "LT25i Xperia V MTP+ADB", 0x5186,
 
1688
      DEVICE_FLAG_NONE },
 
1689
  { "SONY", 0x0fce, "Xperia J MTP+ADB", 0x5188,
 
1690
      DEVICE_FLAG_NONE },
 
1691
  { "SONY", 0x0fce, "Xperia ZL MTP", 0x5189,
 
1692
      DEVICE_FLAG_NONE },
 
1693
  { "SONY", 0x0fce, "Xperia E MTP+ADB", 0x518c,
 
1694
      DEVICE_FLAG_NONE },
 
1695
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x518d,
 
1696
      DEVICE_FLAG_NONE },
 
1697
  { "SONY", 0x0fce, "Xperia Z MTP", 0x5193,
 
1698
      DEVICE_FLAG_NONE },
 
1699
  { "SONY", 0x0fce, "Xperia Tablet Z MTP", 0x5194,
 
1700
      DEVICE_FLAG_NONE },
 
1701
 
 
1702
  /*
 
1703
   * MTP+UMS modes
 
1704
   * This mode is for using MTP on the internal storage (eMMC)
 
1705
   * and using UMS (Mass Storage Device Class) on the external
 
1706
   * SD card
 
1707
   */
 
1708
  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS", 0xa173,
 
1709
      DEVICE_FLAG_NONE },
 
1710
  { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+UMS", 0xa175,
 
1711
      DEVICE_FLAG_NONE },
 
1712
  { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+UMS", 0xa176,
 
1713
      DEVICE_FLAG_NONE },
 
1714
  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS", 0xa177,
 
1715
      DEVICE_FLAG_NONE },
 
1716
  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS", 0xa17e,
 
1717
      DEVICE_FLAG_NONE },
 
1718
 
 
1719
  /*
 
1720
   * MTP+UMS+ADB modes
 
1721
   * Like the above, but also ADB
 
1722
   */
 
1723
  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS+ADB", 0xb173,
 
1724
      DEVICE_FLAG_NONE },
 
1725
  { "SONY", 0x0fce, "IS12S Xperia Acro MTP+UMS+ADB", 0xb175,
 
1726
      DEVICE_FLAG_NONE },
 
1727
  { "SONY", 0x0fce, "SO-03D Xperia Acro MTP+UMS+ADB", 0xb176,
 
1728
      DEVICE_FLAG_NONE },
 
1729
  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS+ADB", 0xb177,
 
1730
      DEVICE_FLAG_NONE },
 
1731
  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS+ADB", 0xb17e,
 
1732
      DEVICE_FLAG_NONE },
 
1733
 
1396
1734
 
1397
1735
  /*
1398
1736
   * Motorola
1402
1740
  { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65,
1403
1741
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
1404
1742
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
 
1743
  { "Motorola", 0x22b8, "Atrix/Razr HD (MTP)", 0x2e32,
 
1744
      DEVICE_FLAGS_ANDROID_BUGS },
 
1745
  { "Motorola", 0x22b8, "Atrix/Razr HD (MTP+ADB)", 0x2e33,
 
1746
      DEVICE_FLAGS_ANDROID_BUGS },
 
1747
  { "Motorola", 0x22b8, "RAZR M (XT907)", 0x2e51,
 
1748
      DEVICE_FLAGS_ANDROID_BUGS },
 
1749
  // Reported by Jader Rodrigues Simoes <jadersimoes@users.sourceforge.net>
 
1750
  { "Motorola", 0x22b8, "Xoom 2 Media Edition (ID2)", 0x41cf,
 
1751
      DEVICE_FLAGS_ANDROID_BUGS },
1405
1752
  // Reported by Steven Roemen <sdroemen@users.sourceforge.net>
1406
1753
  { "Motorola", 0x22b8, "Droid X/MB525 (Defy)", 0x41d6,
1407
1754
      DEVICE_FLAG_NONE },
1408
 
  // Reported by anonymous user
 
1755
  { "Motorola", 0x22b8, "DROID2 (ID1)", 0x41da,
 
1756
      DEVICE_FLAG_NONE },
1409
1757
  { "Motorola", 0x22b8, "Milestone / Verizon Droid", 0x41dc,
1410
 
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
1411
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1412
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
1413
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
1414
 
  // Reported by anonymous user
1415
 
  { "Motorola", 0x22b8, "DROID2", 0x42a7,
1416
 
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
1417
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1418
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
1419
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
 
1758
      DEVICE_FLAGS_ANDROID_BUGS },
 
1759
  { "Motorola", 0x22b8, "DROID2 (ID2)", 0x42a7,
 
1760
      DEVICE_FLAGS_ANDROID_BUGS },
1420
1761
  { "Motorola", 0x22b8, "Xoom 2 Media Edition", 0x4311,
1421
 
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
1422
 
      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST |
1423
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
1424
 
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
 
1762
      DEVICE_FLAGS_ANDROID_BUGS },
 
1763
  // Reported by  B,H,Kissinger <mrkissinger@users.sourceforge.net>
 
1764
  { "Motorola", 0x22b8, "XT912/XT928", 0x4362,
 
1765
      DEVICE_FLAGS_ANDROID_BUGS },
 
1766
  // Reported by Lundgren <alundgren@users.sourceforge.net>
 
1767
  { "Motorola", 0x22b8, "DROID4", 0x437f,
 
1768
      DEVICE_FLAGS_ANDROID_BUGS },
1425
1769
  // Reported by Marcus Meissner to libptp2
1426
1770
  { "Motorola", 0x22b8, "IdeaPad K1", 0x4811,
1427
1771
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
1434
1778
  // Reported by anonymous user
1435
1779
  { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415,
1436
1780
      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
1437
 
  // Reported by Google Inc's Yavor Goulishev <yavor@google.com>
1438
 
  // Android 3.0 MTP stack seems to announce that it supports the
1439
 
  // list operations, but they do not work?
1440
 
  { "Motorola", 0x22b8, "Xoom (ID 1)", 0x70a8, DEVICE_FLAGS_ANDROID_BUGS },
1441
 
  // Reported by anonymous Sourceforge user
 
1781
  // Reported by Brian Dolbec <dol-sen@users.sourceforge.net>
 
1782
  { "Motorola", 0x22b8, "Atrix MB860 (MTP)", 0x7088,
 
1783
      DEVICE_FLAGS_ANDROID_BUGS },
 
1784
  /*
 
1785
   * Motorola Xoom (Wingray) variants
 
1786
   *
 
1787
   * These devices seem to use these product IDs simulatenously
 
1788
   * https://code.google.com/p/android-source-browsing/source/browse/init.stingray.usb.rc?repo=device--moto--wingray
 
1789
   *
 
1790
   * 0x70a3 - Factory test - reported as early MTP ID
 
1791
   * 0x70a8 - MTP
 
1792
   * 0x70a9 - MTP+ADB
 
1793
   * 0x70ae - RNDIS
 
1794
   * 0x70af - RNDIS+ADB
 
1795
   * 0x70b0 - ACM
 
1796
   * 0x70b1 - ACM+ADB
 
1797
   * 0x70b2 - ACM+RNDIS
 
1798
   * 0x70b3 - ACM+RNDIS+ADB
 
1799
   * 0x70b4 - PTP
 
1800
   * 0x70b5 - PTP+ADB
 
1801
   *
 
1802
   * Reported by Google Inc's Yavor Goulishev <yavor@google.com>
 
1803
   */
 
1804
  { "Motorola", 0x22b8, "Xoom (Factory test)", 0x70a3,
 
1805
      DEVICE_FLAGS_ANDROID_BUGS },
 
1806
  { "Motorola", 0x22b8, "Xoom (MTP)", 0x70a8,
 
1807
      DEVICE_FLAGS_ANDROID_BUGS },
 
1808
  { "Motorola", 0x22b8, "Xoom (MTP+ADB)", 0x70a9,
 
1809
      DEVICE_FLAGS_ANDROID_BUGS },
1442
1810
  // "carried by C Spire and other CDMA US carriers"
1443
 
  { "Motorola", 0x22b8, "Milestone X2", 0x70ca, DEVICE_FLAGS_ANDROID_BUGS },
 
1811
  { "Motorola", 0x22b8, "Milestone X2", 0x70ca,
 
1812
      DEVICE_FLAGS_ANDROID_BUGS },
 
1813
  { "Motorola", 0x22b8, "XT890/907 (MTP)", 0x710d,
 
1814
      DEVICE_FLAGS_ANDROID_BUGS },
 
1815
  { "Motorola", 0x22b8, "XT890/907 (MTP+ADB)", 0x710e,
 
1816
      DEVICE_FLAGS_ANDROID_BUGS },
 
1817
  { "Motorola", 0x22b8, "XT890/907 (MTP+?)", 0x710f,
 
1818
      DEVICE_FLAGS_ANDROID_BUGS },
1444
1819
 
1445
1820
  /*
1446
1821
   * Google
1448
1823
   * road to produce an Android tablet it seems... The Vendor ID
1449
1824
   * was originally used for Nexus phones
1450
1825
   */
 
1826
  { "Google Inc (for Ainol Novo)", 0x18d1, "Fire/Flame", 0x0007,
 
1827
      DEVICE_FLAGS_ANDROID_BUGS },
1451
1828
  { "Google Inc (for Sony)", 0x18d1, "S1", 0x05b3,
1452
1829
      DEVICE_FLAGS_ANDROID_BUGS },
1453
1830
  // Reported by anonymous Sourceforge user
1454
1831
  { "Google Inc (for Barnes & Noble)", 0x18d1, "Nook Color", 0x2d02,
1455
1832
      DEVICE_FLAGS_ANDROID_BUGS },
1456
1833
  // Reported by anonymous Sourceforge user
 
1834
  { "Google Inc (for Asus)", 0x18d1, "TF201 Transformer", 0x4d00,
 
1835
      DEVICE_FLAGS_ANDROID_BUGS },
 
1836
  // Reported by anonymous Sourceforge user
1457
1837
  { "Google Inc (for Asus)", 0x18d1, "TF101 Transformer", 0x4e0f,
1458
1838
      DEVICE_FLAGS_ANDROID_BUGS },
 
1839
  // 0x4e21 (Nexus S) is a USB Mass Storage device.
 
1840
  // Reported by Chris Smith <tcgsmythe@users.sourceforge.net>
 
1841
  { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP)", 0x4e41,
 
1842
      DEVICE_FLAGS_ANDROID_BUGS },
 
1843
  // Reported by Michael Hess <mhess126@gmail.com>
 
1844
  { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP+ADB)", 0x4e42,
 
1845
      DEVICE_FLAGS_ANDROID_BUGS },
 
1846
  { "Google Inc (for LG Electronics/Samsung)", 0x18d1,
 
1847
      "Nexus 4/10 (MTP)", 0x4ee1,
 
1848
      DEVICE_FLAGS_ANDROID_BUGS },
 
1849
  { "Google Inc (for LG Electronics/Samsung)", 0x18d1,
 
1850
      "Nexus 4/10 (MTP+ADB)", 0x4ee2,
 
1851
      DEVICE_FLAGS_ANDROID_BUGS },
1459
1852
  // WiFi-only version of Xoom
1460
1853
  // See: http://bugzilla.gnome.org/show_bug.cgi?id=647506
1461
1854
  { "Google Inc (for Motorola)", 0x18d1, "Xoom (MZ604)", 0x70a8,
1462
1855
      DEVICE_FLAGS_ANDROID_BUGS },
1463
 
  { "Google Inc (for Motorola)", 0x22b8, "Xoom (ID 2)", 0x70a9,
1464
 
      DEVICE_FLAGS_ANDROID_BUGS },
1465
1856
  { "Google Inc (for Toshiba)", 0x18d1, "Thrive 7/AT105", 0x7102,
1466
1857
      DEVICE_FLAGS_ANDROID_BUGS },
1467
1858
  { "Google Inc (for Lenovo)", 0x18d1, "Ideapad K1", 0x740a,
1557
1948
   */
1558
1949
  { "Coby", 0x1e74, "COBY MP705", 0x6512, DEVICE_FLAG_NONE },
1559
1950
 
 
1951
#if 0
 
1952
  /*
 
1953
   * Apple devices, which are not MTP natively but can be made to speak MTP
 
1954
   * using PwnTunes (http://www.pwntunes.net/)
 
1955
   * CURRENTLY COMMENTED OUT:
 
1956
   * These will make the UDEV rules flag these as MTP devices even if
 
1957
   * PwnTunes is NOT installed. That is unacceptable, so a better solution
 
1958
   * that actually inspects if the device has PwnTunes/MTP support needs
 
1959
   * to be found, see:
 
1960
   * https://sourceforge.net/p/libmtp/bugs/759/
 
1961
   */
 
1962
  { "Apple", 0x05ac, "iPhone", 0x1290, DEVICE_FLAG_NONE },
 
1963
  { "Apple", 0x05ac, "iPod Touch 1st Gen", 0x1291, DEVICE_FLAG_NONE },
 
1964
  { "Apple", 0x05ac, "iPhone 3G", 0x1292, DEVICE_FLAG_NONE },
 
1965
  { "Apple", 0x05ac, "iPod Touch 2nd Gen", 0x1293, DEVICE_FLAG_NONE },
 
1966
  { "Apple", 0x05ac, "iPhone 3GS", 0x1294, DEVICE_FLAG_NONE },
 
1967
  { "Apple", 0x05ac, "0x1296", 0x1296, DEVICE_FLAG_NONE },
 
1968
  { "Apple", 0x05ac, "0x1297", 0x1297, DEVICE_FLAG_NONE },
 
1969
  { "Apple", 0x05ac, "0x1298", 0x1298, DEVICE_FLAG_NONE },
 
1970
  { "Apple", 0x05ac, "iPod Touch 3rd Gen", 0x1299, DEVICE_FLAG_NONE },
 
1971
  { "Apple", 0x05ac, "iPad", 0x129a, DEVICE_FLAG_NONE },
 
1972
#endif
 
1973
 
1560
1974
  // Reported by anonymous SourceForge user, also reported as
1561
1975
  // Pantech Crux, claming to be:
1562
1976
  // Manufacturer: Qualcomm
1569
1983
 
1570
1984
  /*
1571
1985
   * Asus
 
1986
   * Pattern of PIDs on Android devices seem to be:
 
1987
   * n+0 = MTP
 
1988
   * n+1 = MTP+ADB
 
1989
   * n+2 = ?
 
1990
   * n+3 = ?
 
1991
   * n+4 = PTP
1572
1992
   */
1573
 
  // Reported by anonymous Sourceforge user
 
1993
  // Reported by Glen Overby
 
1994
  { "Asus", 0x0b05, "TF300 Transformer (MTP)", 0x4c80,
 
1995
      DEVICE_FLAGS_ANDROID_BUGS },
 
1996
  // Reported by jaile <jaile@users.sourceforge.net>
 
1997
  { "Asus", 0x0b05, "TF300 Transformer (MTP+ADB)", 0x4c81,
 
1998
      DEVICE_FLAGS_ANDROID_BUGS },
 
1999
  // Repored by Florian Apolloner <f-apolloner@users.sourceforge.net>
 
2000
  { "Asus", 0x0b05, "TF700 Transformer (MTP)", 0x4c90,
 
2001
      DEVICE_FLAGS_ANDROID_BUGS },
 
2002
  { "Asus", 0x0b05, "TF700 Transformer (MTP+ADB)", 0x4c91,
 
2003
      DEVICE_FLAGS_ANDROID_BUGS },
 
2004
  { "Asus", 0x0b05, "MeMo Pad Smart 10", 0x4cd0,
 
2005
      DEVICE_FLAGS_ANDROID_BUGS },
1574
2006
  { "Asus", 0x0b05, "TF201 Transformer Prime (keyboard dock)", 0x4d00,
1575
2007
      DEVICE_FLAGS_ANDROID_BUGS },
1576
2008
  { "Asus", 0x0b05, "TF201 Transformer Prime (tablet only)", 0x4d01,
1577
2009
      DEVICE_FLAGS_ANDROID_BUGS },
1578
 
  { "Asus", 0x0b05, "TFXXX Transformer Prime (unknown version)", 0x4d04,
1579
 
      DEVICE_FLAGS_ANDROID_BUGS },
1580
 
  { "Asus", 0x0b05, "TF101 Eeepad Transformer", 0x4e0f,
1581
 
      DEVICE_FLAGS_ANDROID_BUGS },
1582
 
  { "Asus", 0x0b05, "TF101 Eeepad Transformer (debug mode)", 0x4e1f,
1583
 
      DEVICE_FLAGS_ANDROID_BUGS },
 
2010
  // 4d04 is the PTP mode, don't add it
 
2011
  { "Asus", 0x0b05, "SL101 (MTP)", 0x4e00,
 
2012
      DEVICE_FLAGS_ANDROID_BUGS },
 
2013
  { "Asus", 0x0b05, "SL101 (MTP+ADB)", 0x4e01,
 
2014
      DEVICE_FLAGS_ANDROID_BUGS },
 
2015
  { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP)", 0x4e0f,
 
2016
      DEVICE_FLAGS_ANDROID_BUGS },
 
2017
  { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP+ADB)", 0x4e1f,
 
2018
      DEVICE_FLAGS_ANDROID_BUGS },
 
2019
  { "Asus", 0x0b05, "PadFone (MTP)", 0x5200,
 
2020
      DEVICE_FLAGS_ANDROID_BUGS },
 
2021
  { "Asus", 0x0b05, "PadFone (MTP+ADB)", 0x5201,
 
2022
      DEVICE_FLAGS_ANDROID_BUGS },
 
2023
  { "Asus", 0x0b05, "PadFone 2 (MTP+?)", 0x5210,
 
2024
      DEVICE_FLAGS_ANDROID_BUGS },
 
2025
  { "Asus", 0x0b05, "PadFone 2 (MTP)", 0x5211,
 
2026
      DEVICE_FLAGS_ANDROID_BUGS },
 
2027
 
1584
2028
 
1585
2029
 
1586
2030
  /*
1593
2037
  // Adding Android default bug flags since it appears to be an Android
1594
2038
  { "Lenovo", 0x17ef, "ThinkPad Tablet", 0x741c,
1595
2039
      DEVICE_FLAGS_ANDROID_BUGS },
 
2040
  // Reported by: XChesser <XChesser@users.sourceforge.net>
 
2041
  { "Lenovo", 0x17ef, "P700", 0x7497,
 
2042
      DEVICE_FLAGS_ANDROID_BUGS },
 
2043
  // Reported by: anonymous sourceforge user
 
2044
  { "Lenovo", 0x17ef, "Lifetab S9512", 0x74cc,
 
2045
      DEVICE_FLAGS_ANDROID_BUGS },
 
2046
  // Reported by Brian J. Murrell
 
2047
  { "Lenovo", 0x17ef, "IdeaTab A2109A", 0x7542,
 
2048
      DEVICE_FLAGS_ANDROID_BUGS },
 
2049
 
1596
2050
 
1597
2051
  /*
1598
2052
   * Huawei
1599
2053
   */
1600
2054
  // Reported by anonymous SourceForge user
1601
 
  { "Huawei", 0x12d1, "Honor U8860", 0x1051, DEVICE_FLAGS_ANDROID_BUGS },
 
2055
  { "Huawei", 0x12d1, "Honor U8860", 0x1051,
 
2056
      DEVICE_FLAGS_ANDROID_BUGS },
 
2057
  // Reported by anonymous SourceForge user
 
2058
  { "Huawei", 0x12d1, "U8815/U9200", 0x1052,
 
2059
      DEVICE_FLAGS_ANDROID_BUGS },
 
2060
  // Reported by anonymous SourceForge user
 
2061
  { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f,
 
2062
      DEVICE_FLAGS_ANDROID_BUGS },
1602
2063
  // Reported by Bearsh <bearsh@users.sourceforge.net>
1603
 
  { "Huawei", 0x12d1, "Mediapad", 0x361f, DEVICE_FLAGS_ANDROID_BUGS },
 
2064
  { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f,
 
2065
      DEVICE_FLAGS_ANDROID_BUGS },
1604
2066
 
1605
2067
  /*
1606
2068
   * ZTE
1608
2070
   */
1609
2071
  { "ZTE", 0x19d2, "V55 ID 1", 0x0244, DEVICE_FLAGS_ANDROID_BUGS },
1610
2072
  { "ZTE", 0x19d2, "V55 ID 2", 0x0245, DEVICE_FLAGS_ANDROID_BUGS },
 
2073
  { "ZTE", 0x19d2, "v790/Blade 3", 0x0306, DEVICE_FLAGS_ANDROID_BUGS },
1611
2074
 
1612
2075
  /*
1613
 
   * Hewlett-Packard (HP)
1614
 
   */
 
2076
   * HTC (High Tech Computer Corp)
 
2077
   * Reporters:
 
2078
   * Steven Eastland <grassmonk@users.sourceforge.net>
 
2079
   * Kevin Cheng <kache@users.sf.net>
 
2080
   */
 
2081
#if 0
 
2082
  /*
 
2083
   * This had to be commented out - the same VID+PID is used also for
 
2084
   * other modes than MTP, so we need to let mtp-probe do its job on this
 
2085
   * device instead of adding it to the database.
 
2086
   */
 
2087
  { "HTC", 0x0bb4, "Android Device ID1 (Zopo, HD2, Bird...)", 0x0c02,
 
2088
      DEVICE_FLAGS_ANDROID_BUGS },
 
2089
#endif
 
2090
  { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID1)", 0x0c93,
 
2091
      DEVICE_FLAGS_ANDROID_BUGS },
 
2092
  { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID2)", 0x0ca8,
 
2093
      DEVICE_FLAGS_ANDROID_BUGS },
 
2094
  { "HTC", 0x0bb4, "HTC One S (ID1)", 0x0cec,
 
2095
      DEVICE_FLAGS_ANDROID_BUGS },
 
2096
  { "HTC", 0x0bb4, "HTC Evo 4G LTE (ID1)", 0x0df5,
 
2097
      DEVICE_FLAGS_ANDROID_BUGS },
 
2098
  { "HTC", 0x0bb4, "HTC One S (ID2)", 0x0df9,
 
2099
      DEVICE_FLAGS_ANDROID_BUGS },
 
2100
  { "HTC", 0x0bb4, "HTC One X (ID1)", 0x0dfb,
 
2101
      DEVICE_FLAGS_ANDROID_BUGS },
 
2102
  { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0dfc,
 
2103
      DEVICE_FLAGS_ANDROID_BUGS },
 
2104
  { "HTC", 0x0bb4, "HTC One X (ID3)", 0x0dfd,
 
2105
      DEVICE_FLAGS_ANDROID_BUGS },
 
2106
  { "HTC", 0x0bb4, "HTC Butterfly (ID1)", 0x0dfe,
 
2107
      DEVICE_FLAGS_ANDROID_BUGS },
 
2108
  { "HTC", 0x0bb4, "Droid DNA (MTP+UMS+ADB)", 0x0dff,
 
2109
      DEVICE_FLAGS_ANDROID_BUGS },
 
2110
  { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP)", 0x0e31,
 
2111
      DEVICE_FLAGS_ANDROID_BUGS },
 
2112
  { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP+ADB)", 0x0e32,
 
2113
      DEVICE_FLAGS_ANDROID_BUGS },
 
2114
  { "HTC", 0x0bb4, "Droid DNA (MTP+UMS)", 0x0ebd,
 
2115
      DEVICE_FLAGS_ANDROID_BUGS },
 
2116
  { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0f91,
 
2117
      DEVICE_FLAGS_ANDROID_BUGS },
1615
2118
  // These identify themselves as "cm_tenderloin", fun...
1616
 
  { "Hewlett-Packard", 0x0bb4, "HP Touchpad", 0x685c,
1617
 
      DEVICE_FLAGS_ANDROID_BUGS },
1618
 
  { "Hewlett-Packard", 0x0bb4, "HP Touchpad (debug mode)",
1619
 
      0x6860, DEVICE_FLAGS_ANDROID_BUGS },
 
2119
  // Done by HTC for HP I guess.
 
2120
  { "Hewlett-Packard", 0x0bb4, "HP Touchpad (MTP)", 0x685c,
 
2121
      DEVICE_FLAGS_ANDROID_BUGS },
 
2122
  { "Hewlett-Packard", 0x0bb4, "HP Touchpad (MTP+ADB)", 0x6860,
 
2123
      DEVICE_FLAGS_ANDROID_BUGS },
 
2124
#if 0
 
2125
  { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008,
 
2126
      DEVICE_FLAGS_ANDROID_BUGS },
 
2127
#endif
1620
2128
 
1621
2129
  /*
1622
2130
   * NEC
1627
2135
   * nVidia
1628
2136
   */
1629
2137
  // Found on Internet forum
1630
 
  { "nVidia", 0x0955, "CM9-Adam", 0x70a9, DEVICE_FLAGS_ANDROID_BUGS },
 
2138
  { "nVidia", 0x0955, "CM9-Adam", 0x70a9,
 
2139
      DEVICE_FLAGS_ANDROID_BUGS },
 
2140
  { "nVidia", 0x0955, "Nabi2 Tablet (ID1)", 0x7100,
 
2141
      DEVICE_FLAGS_ANDROID_BUGS },
 
2142
  { "nVidia", 0x0955, "Nabi2 Tablet (ID2)", 0x7102,
 
2143
      DEVICE_FLAGS_ANDROID_BUGS },
 
2144
 
 
2145
  /*
 
2146
   * Vizio
 
2147
   */
 
2148
  // Reported by Michael Gurski <gurski@users.sourceforge.net>
 
2149
  { "Vizio", 0x0489, "VTAB1008", 0xe040, DEVICE_FLAGS_ANDROID_BUGS },
 
2150
 
 
2151
  /*
 
2152
   * Amazon
 
2153
   */
 
2154
  { "Amazon", 0x1949, "Kindle Fire 2G (ID1)", 0x0005,
 
2155
      DEVICE_FLAGS_ANDROID_BUGS },
 
2156
  { "Amazon", 0x1949, "Kindle Fire (ID1)", 0x0007,
 
2157
      DEVICE_FLAGS_ANDROID_BUGS },
 
2158
  { "Amazon", 0x1949, "Kindle Fire (ID2)", 0x0008,
 
2159
      DEVICE_FLAGS_ANDROID_BUGS },
 
2160
  { "Amazon", 0x1949, "Kindle Fire (ID3)", 0x000a,
 
2161
      DEVICE_FLAGS_ANDROID_BUGS },
 
2162
 
 
2163
  /*
 
2164
   * Barnes&Noble
 
2165
   */
 
2166
  { "Barnes&Noble", 0x2080, "Nook HD+", 0x0005,
 
2167
      DEVICE_FLAGS_ANDROID_BUGS },
 
2168
 
 
2169
  /*
 
2170
   * Viewpia, bq, YiFang
 
2171
   * Seems like some multi-branded OEM product line.
 
2172
   */
 
2173
  { "Various", 0x2207, "Viewpia DR/bq Kepler", 0x0001,
 
2174
      DEVICE_FLAGS_ANDROID_BUGS },
 
2175
  { "YiFang", 0x2207, "BQ Tesla", 0x0006,
 
2176
      DEVICE_FLAGS_ANDROID_BUGS },
 
2177
 
 
2178
  /*
 
2179
   * Kobo
 
2180
   */
 
2181
  // Reported by George Talusan
 
2182
  { "Kobo", 0x2237, "Arc (ID1)", 0xd108,
 
2183
      DEVICE_FLAGS_ANDROID_BUGS },
 
2184
  { "Kobo", 0x2237, "Arc (ID2)", 0xd109,
 
2185
      DEVICE_FLAGS_ANDROID_BUGS },
 
2186
 
 
2187
  /*
 
2188
   * Hisense
 
2189
   */
 
2190
  // Reported by Anonymous SourceForge user
 
2191
  { "Hisense", 0x109b, "E860", 0x9109, DEVICE_FLAGS_ANDROID_BUGS },
 
2192
 
 
2193
  /*
 
2194
   * Intel
 
2195
   * Also sold rebranded as Orange products
 
2196
   */
 
2197
  { "Intel", 0x8087, "Xolo 900/AZ210A", 0x09fb, DEVICE_FLAGS_ANDROID_BUGS },
 
2198
 
 
2199
  /*
 
2200
   * Xiaomi
 
2201
   */
 
2202
  { "Xiaomi", 0x2717, "Mi-2 (MTP+ADB)", 0x9039,
 
2203
      DEVICE_FLAGS_ANDROID_BUGS },
 
2204
  { "Xiaomi", 0x2717, "Mi-2 (MTP)", 0xf003,
 
2205
      DEVICE_FLAGS_ANDROID_BUGS },
 
2206
 
 
2207
  /*
 
2208
   * XO Learning Tablet
 
2209
   */
 
2210
  { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP+ADB)", 0x8005,
 
2211
      DEVICE_FLAGS_ANDROID_BUGS },
 
2212
  { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP)", 0x8006,
 
2213
      DEVICE_FLAGS_ANDROID_BUGS },
1631
2214
 
1632
2215
  /*
1633
2216
   * Other strange stuff.